Hen*_*ung 15 c# rest asp.net-mvc web-services
有没有人有使用ASP.NET MVC项目作为Web服务的经验?
即使用没有视图的ASP.NET MVC,因此其他应用程序可以使用URL来GET或POST到Controller中的操作.
有人用过吗?如果是这样,不使用Web服务项目有任何缺点吗?
谢谢大家!
如果你想使用简单的GET和POST调用,MVC将是不错的选择.ASP.NET MVC 4将支持创建基于HTTP的API.你可以在这里阅读:http://www.asp.net/web-api
在Web Service项目中创建的Web Service可以更容易使用,因为它可以生成WSDL文件,可以在许多不同的语言中轻松读取和使用(通过使用SOAP协议).另一方面,如果您使用自己的格式,WS可以创建巨大的XML响应,可能会小很多倍.
如果您想在全世界范围内传播您的Web服务,那么允许SOAP将使许多开发人员的工作变得更轻松.人们可以使用SOAP,他们几乎不了解编程.如果你在内部使用它,更喜欢速度和简单的请求和响应,你可以使用MVC.
这实际上取决于你正在编写的应用程序的类型.我实际上会反驳LukLed的立场 - 当你想要支持Windows身份验证或TCP或MSMQ等不同协议之类的东西时,基于SOAP的服务更适合内部客户端.
在特定的"资源"周围使用更多Web风格的GET和POST,开始让您进入REST架构风格.这项技术对我来说有一些明显的优势:
一篇特别帮助我理解这里权衡的文章是Martin Fowler的"迈向REST荣耀的步骤". 话虽如此,它可能适合您的应用,也可能不适合您的应用.
如果您确实选择构建更多基于REST的服务,请务必考虑使用其他人提到的MVC4内置的ASP.NET Web API.它目前处于测试阶段,但微软觉得它足以让它获得上线许可.
更新:
自ASP.NET核心以来,ASP.NET Web API已经集成到MVC 6项目中. https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6
归档时间: |
|
查看次数: |
32400 次 |
最近记录: |