什么是web服务?
Web服务是一种面向服务的架构技术,通过标准的web协议提供服务,目的是保证不同品台的引用服务可以操作。利用web服务,可以实现跨操作系统、跨应用程序、跨编程语言的引用程序相互操作。
例如:java程序可以在asp.Net中运行。
怎么使用web?
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
在hellowworld方法前面的[webMethod]表示此方法是一个web服务方法,客户端可以通过web服务方式调用此方法。
Webservice文件可以直接在页面上打开,应为webservice本身就是一个网页
在页面上可以看到
里面所用的方法能够展示出来那是因为代码中表示为webmethod()的方法。
点击该方法:
填写里面的内容是直接调用看效果。
访问web服务
Web服务创建后,公开了一系列操作接口,各种客户端应用程序(包含web应用、pc上的winFrom应用、移动设备应用程序)都可以按照web服务标准访问此接口,享受web服务所提供的功能
Web服务的常用标签
在Web服务中,除了最常用的[WebMethod]标签之外,Asp.net中还支持另外几个重要的标签:
[ScriptService]标签;
表示这个服务方法可以通过Asp.net AJAX访问。当通过REST方式访问这个服务的时候,服务器通过RestHandlerFactory返回一个处理程序,这个处理程序将完成请求和返回参数的JSON化任务。
[WebService]标签;
表示客户端可以通过web服务方式调用此方法。
[WebServiceBinding]标签;
标签用来描述Web服务的绑定信息。
[SoapRpcMethod]标签;
WebMethod的属性
[WebMethod(EnableSession = false)]
EnableSession :就是可以获取session值
WebMethod 属性 (Attribute) 的 EnableSession 属性 (Property) 启用 XML Web services 方法的会话状态。一旦启用,XML Web services 就可以从 HttpContext.Current.Session 中直接访问会话状态集合,或者,如果它是从 WebService 基类继承的,则可以使用 WebService.Session 属性来访问会话状态集合。如果状态设置为 true,则客户端访问WS时,可以不赋值Session变量,有默认值。
如果状态设置为 false,则客户端访问WS时,必须要先对Session变量赋值,否则报错。