WebService:一种跨编程语言和操作系统平台的远程调用技术,SOAP、WSDL(WebServicesDescriptionLanguage)、UDDI(UniversalDescriptionDiscovery andIntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。
SOAP:简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
WSDL:网络服务描述语言是Web Service的描述语言,它包含一系列描述某个web service的定义。
环境:VS2013
IIS:IIS6
一、搭建
1、新建项目,新增一个ASP.NET空Web应用程序,选择.NET Framework4
2、在项目中,添加一个Web服务(ASMX)
3、在WebService1.asmx文件中添加服务端方法,此处添加一个测试方法
注意:在方法前不要遗漏 [WebMethod],使远程Web客户端可以调用此方法。
二、分布WebService
1、右键项目,选择菜单中的“发布”
2、新建配置文件,“config1”
选择连接选项,发布方法选择文件系统,选择WebService需要发布的位置
设置:配置成Release
发布webService,发布成功,输出显示发布成功,在目标位置可以看到如下文件。
注意:目标位置不可选择桌面,桌面下的文件有访问权限,容易导致下面发布到IIS上,无法访问。至于C盘下的路径是否都不可访问,此处没有测试过。
三、部署IIS
1、在Default Web Site下添加应用程序,设置别名,这个随你高兴,无所谓,物理路径选择之前WebService发布位置。
2、点击浏览,可在浏览器中看到如下显示,点击“WebService1.asmx”,显示服务器错误,我们可以看到版本信息那栏显示的.NET Framework是2.0,
但是我们前面在创建WebService时选择的是.NET Framework 4.0。
3、在应用程序池添加一个.NET Framework 4.0的程序池。
选择WebService的应用程序的高级设置,把应用程序池改为新设置的程序池,重复上面2步骤,
在浏览器中就可以看到我们刚才在webService.asmx中添加的方法,
点击服务说明,可以跳转到wsdl模式下。
至此,WebService发布部署成功。
四、客户端调用WebService服务端方法
1、新建项目,新建控制台应用程序,选择项目,右键菜单,添加服务引用。
2、在地址处,添加之前发布的WebService服务,如在下拉处没有找到,点击"发现",即可找到,
选择好地址后,点击"转到",可查看到服务。
3、点击“高级”,点击“添加Web引用”,URL选择WebService服务,添加引用
添加成功,可在项目中看到web引用。
4、在客户端程序中调用服务端方法
五、WebService和实体类的应用
1、在实体类前加上[Serializable],webService调用时[XmlInclude(typeof(Book))]
2、重新生成项目,发布WebService,在客户端更新web引用,就可以调用Book实体和新建方法。
调用方法及结果如下:
3、有继承类的使用