C#最简单最完整的webservice实例
http://fyinthesky.blog.163.com/blog/static/3555251720110115227337/
我做java,但最近接触crm所以必须研究一下C#中的webservice以备后用,其实就是个新手,哈哈,这个实例是我在参考了网上诸多不完整的例子的情况下,自己摸索完成的。期间遇到过一系列的棘手的问题,经过个人努力终于解决了。我把整个步骤都写完整了,以供以后像我这样的C#新手少走弯路,程序很简单,过程有点长,希望有耐心,对于入门还是有些帮助的。如果博客中没附上源码的【原因可能没法添加源码】,可以留言或邮箱我来发送给大家。
一、环境
我的开发环境是xp的sp3,这个对于asp.net的要求是v2.0.50727
如果不是的话会报错,可以到本地的
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
运行即可。如果自己的已经安装过的就可以跳过,否则在webservic的调试中会报一下错:
名称以无效字符开头。处理资源 'http://localhost/ws/Service.asmx' 时出错。第 1 行,位置: 2
其次,需要安装IIS,我测试的版本是iis5.1, 本来装了iis6 但是用不了,所以版本也很重用,本人在次耗费了部分心血。如果不清楚版本可以看看 百科里的描述以作决定的参考:
http://baike.baidu.com/view/850.htm
二、程序
这个过程总共建立2个独立的项目: 一个webservice 项目,一个调用。
1 建立和部署webservice 项目:
用vs2008新建webservicesT :注意是ASP.NET Web 服务应用程序

之后系统会自动生成一个 类似于helloworld的一个简单例子:

打开之后,可以看到

至此最简单的webservice就建立好了。 我们不需要做任何事情,就用他来测试。
接着需要对整个工程 “生成”和发布。
生成 只要右键点击项目选择“生成”即可。
发布也一样,如下截图。

把发布的文件拷到iis工作路径中,并把这个文件夹 “web共享”。
在资源管理器中:

web
共享:

在iis中查看,我建的文件名为sv:

最后来查看一下是不是部署成功,可以在ie地址栏中输入相关的url:
我涉及的url http://localhost/sv/Service1.asmx
成功的话可以看到下面的截图

然后点击 “HelloWorld”链接 :

然后点击 “HelloWorld”链接 ,就可以最终的页面显示的xml内容:

这样表示整个
webservice的建立和部署是成功的。
2 接下来建立 对webservice的调用调试。
我是建立了一个web应用项目来调用测试的。
步骤跟建立webservice项目类似,
注意选择好类型如图:

其次,最重要的一步就是引用webservice ,
项目右键选择“添加web引用”,可以看到下图:

填入之前建立的webservice 对应的url ,此处是 http://localhost/sv/Service1.asmx
点击前往即可:

然后 把往“Web引用名”中填入一个名字,我填的是kiss,这个名字比较重要,因为下面的步骤中要使用他,当然你可以任意,但请记住。
然后 在后台中写入调用的方法 页面也加入触发事件:
后台代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace wbcall
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
public string GetString()
{ kiss.Service1 n = new kiss.Service1();
string ss = n.HelloWorld();
return ss;
}
}
}
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"Inherits="wbcall._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function B()
{
var a="<%=GetString() %>";
alert (a);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
kkkk
<br />
<input id="Bnt1" type="Button" value="button" runat ="server" onclick="B()" />
</div>
</form>
</body>
</html>
两个的截图分别如下:


然后把此项目“生成”、“发布”到iis上,这个过程跟 webservice 一样,不再多说。
假如已经完成,接下来可以做测试了。
很简单,在浏览器的地址栏中输入: http://localhost/sc/Default.aspx
可以看到

点击 按钮“button”

系统会有这么一个提示,提示的内容就是之前在
webservice中的写的,可以看一下两者是一致的,都输出"HelloWorld"。

整个过程就结束了。当然调用的形式有多种,这里我只用了这个最简单的,其余的大家可以一起研究。
这个webservice的建立和调用测试我都是在本机上,如果有必要可以在分布式环境上来测试。
C#最简单最完整的webservice实例的更多相关文章
- 利用Java编写简单的WebService实例
使用Axis编写WebService比較简单,就我的理解,WebService的实现代码和编写Java代码事实上没有什么差别,主要是将哪些Java类公布为WebService. 以下是一个从编写測试样 ...
- 利用Java编写简单的WebService实例-转载
使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到 ...
- SAP和Java系统的Webservice实例
简介: 关于Webservice的概念和原理,简单来讲,Webservice是一种基于SOAP传输协议,用WSDL描述,用XML封装数据的接口技术.由于其跨平台.跨防火墙.开发成本低.开发周期短等优势 ...
- XFire创建WebService实例应用
[转自] http://clq9761.iteye.com/blog/1261963 XFire创建WebService实例应用 XFire使得在JavaEE应用中发布Web服务变得轻而易举.和其他W ...
- Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例
在我们日常的测试中经常需要测试特定的响应对应的客户端展示样式是否正确无误,实现测试方法一般有如下三种: 创建新的测试数据(工作量较大) 修改已有测试数据(例如修改对应的状态码,若是最终需要测试的按钮状 ...
- PHP调用Webservice实例
原文 PHP调用Webservice实例 NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService.它是一个开源软件,是完全采用PHP语言编写的.通过HTTP收发S ...
- Java 使用Axis实现WebService实例
在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...
- 使用Python编写简单的端口扫描器的实例分享【转】
转自 使用Python编写简单的端口扫描器的实例分享_python_脚本之家 http://www.jb51.net/article/76630.htm -*- coding:utf8 -*- #!/ ...
- php webservice实例(转载)
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端(服务器端) 与client端(客户端) . 做这个测试之前,要确认你的php配 ...
随机推荐
- Replace Pioneer注册
以下是目前合法长期使用Replace Pioneer的唯一方法(除了购买之外): Replace Pioneer过期后,会弹出一个注册(Registration)窗口,其中有一个试用选项(Trial ...
- Android开发环境部署
引言 在windows系统中安装Android的开发环境,将分为五个步骤来完成: 第一步:安装JDK 第二步:配置Windows上JDK的变量环境 第三步: 下载安装Eclipse 第四步:下载安 ...
- 数学符号“s.t.”的意义
在优化问题的求解中,如线性规划.非线性规划问题等,经常会遇到数学符号“s.t.”,它的意思是什么呢? “s.t.”,指 subject to,受限制于.... 例如: 目标函数:min {x+2} 约 ...
- Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound
今天查看网站的源代码,发现有个glyphicons-halflings-regular.woff文件没有找到,因为我的网站使用了bootstrap的Glyphicons 字体图标,因此需要加载Glyp ...
- MVC-通过对象获取整个表单内容
-------- 在MVC的Controller(控制器)里面定义相同的方法时,我们需要解决重载问题: 解决方案一:在参数中定义一个FormCollection类型,解决问题 [HttpSet] pu ...
- Position、Float
http://www.cnblogs.com/coffeedeveloper/p/3145790.html
- Android开发之ViewPager做新手引导界面
先看一下我们要开发的界面(三张图片,滑到最后一个会出现开始体验的Button,下面的小红点会跟着一起滑动): 首先看一下布局文件: <?xml version="1.0" e ...
- FlashFXP|FTP
经典的FTP传输工具FlashFxp,留作几年吧!看和曾经用的软件代表着岁月的流逝和时间的推进性! 洒脱度过生活中的每一天.每一分钟,Mvpbang追随一生! 压缩包中有秘钥文件-flashfxp.k ...
- Android无线调试及手机设备与PC同屏工具——Chrome插件Vysor
我们平时用手机调试时,经常是手不离机,以前可以下载个jar包能把手机屏映射到电脑桌面,但是运行比较卡,后来就放弃了,再之,手机接数据线有时也不太方便 ,pc与手机(连wifi)如处同一网段,就可以通过 ...
- 哈希 poj 3274
n个牛 二进制最多k位 给你n个数 求max(j-i)&&对应二进制位的和相同 7 1 1 1 倒的 6 0 1 1 7 1 1 1 2 0 1 ...