课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例

上传人:简****9 文档编号:102387482 上传时间:2019-10-02 格式:DOCX 页数:3 大小:411.03KB
返回 下载 相关 举报
课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例_第1页
第1页 / 共3页
课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例_第2页
第2页 / 共3页
课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例》由会员分享,可在线阅读,更多相关《课题-关于在vs2010-a sp-net-mvc3中使用webservice的实例(3页珍藏版)》请在金锄头文库上搜索。

1、关于在VS2010 ASP.NET MVC3中使用WebService的实例一直在听说WebService,但是没实际使用过,今天系统的学习了下WebService,做了下面这个实例,下面的实例部分有不正确的地方望大家指正。一起学习。第一部分:知识点部分我从网上找出下列关于webservice的一些知识点,认为比较重要的就总结如下。方便下次查阅。1:WebService是一种跨编程语言和跨操作系统平台的远程调用技术,所谓远程调用就是一台计算机上的一个程序可以调用另外一台计算机上的一个对象的方法。2:WebService采用协议传输数据(通过协议发送请求和接收结果),采用XML格式封装数据(xm

2、l中说明调用远程服务对象的一些方法,参数记返回的结果)。 由协议+XML数据格式=SOAP协议,即 WebService使用的是SOAP(简单对象访问协议),它是基于XML的。套用网上的一句话说,协议是普通公路,SOAP协议是高速公路。服务器和客户端的关系如下图所示:3:WSDL(WebService Description Language)文件:WebService服务器端要通过一个WSDL文件来说明自己家里有什么服务可以对外调用,服务是什么(即方法,参数,返回值),服务的网络地址,用哪个url地址表示,服务通过什么方式来调用。WSDL文件时基于xml格式,该文件保存在WEB服务器上,通过

3、URL地址可以访问。暴露WSDL文件地址的方式两种: 注册到UDDI服务器 直接告诉客户端调用者第二部分:实例部分了解上面的一些知识点后,我开始编写测试程序。环境: vs2010 mvc3先建立服务器端:新建一个工程,取名叫MVCWebService,由于MVC自动生成的Model,View,Controller都是符合路由规则的,所以我把新建了一个文件夹WebService用来放服务器文件,右击WebService-Add-New Item.目录结构如下图:Services.asmx的代码如下:1 using System; 2 using System.Collections.Gener

4、ic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services; 6 using System.Web.Services.Protocols; 7 8 namespace MVCWebService.Models 9 /10 / Summary description for Services11 /Namespace:获取或设置用于 XML Web services 的默认 XML 命名空间。12 /我理解为WebService服务器端是由客户端来访问的,所以服务器的访问地址就是该命名空间13 /14 WebS

5、ervice(Namespace = :/127.0.0.1:9090)15 WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)16 System.ComponentModel.ToolboxItem(false)17 / To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 18 / System.Web.Script.Services.ScriptService19 publ

6、ic class Services: WebService 20 21 WebMethod /此属性表示该服务器方法客户端可以访问22 public string HelloWorld() 23 return Hello World;24 25 26 WebMethod27 /通过SoapDocumentMethod可以重写Action属性的命名空间28 SoapDocumentMethod(Action = :/127.0.0.1:9090/getString) 29 public string GetString(string ReturnName) 30 return Hello : +

7、 ReturnName;31 32 WebMethod33 public string GetMachinName() 34 return Server.MachineName;35 36 WebMethod37 public string GetServerTime() 38 return Context.Timestamp.TimeOfDay.ToString();39 40 41 测试该服务器是否通过,可以直接运行该Services,图为:这样服务器端就定义好了现在来看客户端新建一个mvc工程,命名为MvcClient,右击-Add Server Reference.确定后,客户端就可以

8、调用服务器端定义的方法。在HomeController的Index方法中返回服务器端的machinename,及输出Hello,you name. 代码及解释如下然后在前台输出,整个客户端和服务器端就完成了。当我完成这个实例后,我在想这样调用就好像是在调用一个dll,因为我的客户端和服务器端在同一个solution里, 而且我的服务器端是运行在本地,为了证实它确实能够在一个局域网内运行,我把我的服务器端发布到了公司的服务器上进行了下测试,为了更好的调试,我在服务器的HomeController加了个Index页面(因为之前的服务器连一个默认的页面都没有),然后修改了服务器端WebService

9、的Namespace属性,将127.0.0.1更改为服务器的192.168.16.101,发布好后我直接运行我的客户端,希望可以读到服务器上的机器名,后来发现报错页面:后来才发现,服务器端的访问地址变了,客户端Service reference的关联地址也应该做相应的改变,这样就可以得到服务器的机器名了。页面显示这样一个简单的WebService程序就完成了。 在做这个小程序的时候,有人说直接用WCF完成,其实我在想WebService都没有用过,就先尝试做下,我有问过WCF和WebService之间有什么联系,有人说WCF封装了WebService,也有人说Webservice是WCF的老版本,如果你看到这里知道答案,不妨给我指点下他们之间究竟有什么关系。_

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号