在.Net中,我认为Web服务是一种项目类型,您可以从菜单中选择,然后定义您的类和方法.Net会在引擎盖下完成所有这些黑魔法,以允许某人在另一侧世界引用我的网络服务,并直接在他们的视觉工作室中使用我的类和方法开始编码。
所以有了这个先入为主的观念,当我看着使用MVC 3编写REST Web服务时(我知道MVC 4有一个REST api已经烘焙但正在等待完整版本)我想知道所有常见的东西,比如“这是一个好主意“,”这将经得起大量使用“和”我只是在写其他开发人员会嘲笑的玩具网络服务“。
现在我认为我的很多焦虑可能归功于微软尚未包装一个大的,过于复杂,臃肿,闪亮的REST包。所以我希望人们告诉我,MVC网络服务是非常好的创造,我希望能让我的焦虑得到缓解。
任何帮助?
答案 0 :(得分:5)
我已经完成了几次,我仍然在生产中使用它并且没有任何抱怨。 我实际上认为它是一个很好的解决方案,因为它设置和维护非常简单。 不是这个令人难以置信的xml配置重的wcf东西..
答案 1 :(得分:4)
您可能还想查看正在发布的WebAPI内容(.net 4.5):
http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx
这与暴露普通的HTML服务非常相关。
答案 2 :(得分:4)
我建议你看一下ServiceStack:http://www.servicestack.net/。它不仅非常成熟,而且可以帮助您生成更清晰的代码。
答案 3 :(得分:3)
这确实取决于您计划对应用程序执行的操作。是的,您可以编写一个兼容RESTful服务的MVC网站。但是,您将UI层紧密地绑定到逻辑层,这就是您真正需要考虑的问题。我正在使用ServiceStack REST service (already mentioned by @Ioannis)在MVC网站上工作。我没有将MVC作为我的REST服务的原因是因为我不希望我的UI中的任何更改可能会影响可能正在使用我的逻辑服务的任何第三方应用程序。因此,只要您仔细考虑使您的网站也成为您的RESTful服务的后果,那么任何一个决定都可以。 :)
答案 4 :(得分:1)
正如其他人在此提到的那样,ServiceStack提供了一个坚实,简洁的REST Web服务框架,允许您毫不费力地开发类型化,惯用的C#API端到端。
ServiceStack还包括许多使用ServiceStack.Host.Mvc NuGet包与ASP.NET MVC深度集成的高性能组件。
要了解有关ServiceStack可以添加到MVC项目的好处的更多信息,请参阅: http://www.servicestack.net/mvc-powerpack/