勇哥注:
wcf可以看作是webservice的技术扩展,但是不能简单的认为wcf无论什么场合都能替代webservice。
所以我们还是有必要多了解一下webservice。
WCF(Windows Communication Foundation)在技术上可以看作是对WebService的一种扩展和替代, 但它并不完全等同于或完全取代WebService。 WCF是微软为构建面向服务的应用程序而提供的一个统一的编程框架, 它整合了.NET Remoting、ASP.NET Web Services、消息队列(MSMQ)和Windows Communication Services(WCS)等技术, 并提供了统一的编程模型、通信机制和安全性模型。 WebService是一种基于XML和HTTP的、平台无关的、自包含的、自描述的、模块化的应用程序, 可以执行从简单的请求到复杂商务处理的任何功能。WebService的主要目标是跨平台的可互操作性, 只要使用XML作为标准的数据交换格式,任何支持这些标准的应用程序都可以相互通信。 WCF在功能性和灵活性上比WebService更为强大,它支持更多的协议(如TCP、HTTP、命名管道、MSMQ等)、 更多的数据格式(如XML、JSON等)和更多的安全性选项。 此外,WCF还提供了更丰富的服务契约和消息契约定义方式,以及更强大的服务宿主和服务发现机制。 然而,WebService也有其独特的优势,例如其跨平台性和简单的实现方式。在某些场景下, WebService可能仍然是更好的选择。 因此,WCF和WebService并不是完全替代的关系,而是根据具体的需求和场景来选择使用哪种技术。 在某些情况下,WCF可能更适合用于构建复杂、高性能、高安全性的面向服务的应用程序; 而在其他情况下,WebService可能更适合用于简单的跨平台通信和数据交换。
新建一个web项目,选择mvc。
再添加一个“web服务(ASMX)”项目。
默认会自动添加一个HelloWorld方法。
在下面服务名字上右键,选择在浏览器中运行服务。
运行后,勇哥这边报下面的错误。
检查一下引用,可以看到这货在呢,那为啥会报错?
试着把引用去掉,再把packages.config中的引用记录删除。
重新安装Newtonsoft.json。
再次右键菜单,在浏览器中浏览webservice服务。
成功的看到了服务。
加几个函数,测试一下返回列表和传入多个参数。
注意只有加了[WebMethod]特性的方法才可以对外看得见。
[WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public List<UserInfo> GetUsers() { var list1 = new List<UserInfo>(); list1.Add(new UserInfo() { Age=18, Name="刘备" }); list1.Add(new UserInfo() { Age = 19, Name = "刘天一" }); list1.Add(new UserInfo() { Age = 20, Name = "李华年" }); return list1; } [WebMethod] public int CalTwoNum(int a,int b) { return a + b; }
这是GetUsers的结果:
这是CalTwoNum的结果
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

