[英]Using ASP.NET MVC as Web Service
有没有人有使用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
新的ASP.NET MVC包括Web Api Kit,它可以完全按照您的需要进行操作。 使用当前版本,您仍然可以使用它。 它没有真正的缺点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.