Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web service是一种可以接收从Internet或者Internet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。
webservice说明:
假设A是Client端,B是webservice服务端,用户通过http协议向服务器发送soap请求,webservice返回客户端XML格式的数据。
客户端由代理对象(proxy)负责与webservice的通信。所以在客户端使用webservice,完全和使用一个本地对象是一样的。
我们现在以一个简单的实例来说明。
一、首先创建Webservice工程,以VS2010为例,如果选择.Net Framework 4,则找不到Web服务应用程序,此时选择ASP.NET空Web应用程序。创建好空应用程序后,选择该工程右键添加Web服务。
创建好程序后默认会有一个HellWorld函数
a) WebService1.asmx文件中的代码
namespace WebApplication1 { [WebService(Namespace = "http://tempuri.org/")] // webservice命名空间 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } } }
b) 运行程序,如图1所示,列出了服务函数名,点击要调用的函数如图2所示,点击调用后出现图2第二张图所示返回函数值。
图1
图2
二. 发布WebService到IIS
打开IIS管理器,选择网站->右键添加网站
注:
(1)输入网站名称,应用池选择,选择程序运行需要的.Net FrameWork版本
(2)物理路径,选择上面WebService发布的程序的路径
(3)绑定,修改端口,端口不能其他程序使用过
发布完成后访问方式为:http://127.0.0.1:8666/Service.asmx 或 http://localhost:8008/Service.asmx如果出现下图所示,说明发布成功。
三、ASP.NET调用Web Service
首先,打开VS2005,打开"文件-新建-网站",选择"ASP.NET网站"。
然后先添加Web引用,把WebService引到当前的工程里面。方法是:在资源管理器中点击右键,选择添加Web 引用,调出对话框:
在URL中填入,前面写好的WebService运行后浏览器上面显示的地址(即:WebService发布后的访问地址 ),点击"前往"按钮,如上图,就会显示出所引用的WebService中可以调用的方法,然后点击"添加引用",就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现引进来的WebService文件
然后在后台写调用的代码,调用之前和使用其它的对象一样,
要先实例化,实例化的方法是
localhost.ServiceSoapClient service = new localhost.ServiceSoapClient();
然后就可以通过service来访问WebService里面提供的方法了。
在运行该程序调用的时候,WebService程序还必须启动,否则会报无法连接远程服务器的异常。
这样webservice的简单创建、发布、调用就完成了,图片来自网络,懒得去截图了。。。
以上这篇C# WebService创建、发布、调用的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。