我正在构建一个MVC应用程序,并且仍然认为自己是ASP.NET ASP.NET的新手。我有WCF REST背景,所以我最初设置了一些服务,我的基于jQuery的客户机将通过RESTful AJAX请求调用这些服务。随着我对WCF有了更多的了解,我发现了WCF类型,我只需将这些方法添加到控制器中,它的行为就像我的ASP.NET ActionResult服务一样。
所以我的问题是,有没有我看不到的RESTful服务提供的JsonResults限制?到目前为止,我还没有看到它,我想知道这是否完全消除了我对WCF REST功能的需求。
提前感谢!
发布于 2012-05-02 03:56:41
在您的情况下,我会使用MVC来实现我的REST实现,但为了回答您的问题:
MVC被构建为只支持ASP.Net。REST并非如此。表述性状态传输,或REST,虽然最常见的定义基于超文本传输协议,但它是not limited to HTTP。WCF允许您通过非HTTP连接进行通信。
除此之外,我同意在MVC中实现REST更容易、更健壮,尤其是在新的MVC Web API中,但话虽如此,REST也在WCF中占有一席之地,因为WCF可以在没有HTTP的情况下独立存在。
编辑:还应该注意的是,WCF可以在没有IIS的情况下独立工作。
发布于 2011-03-21 23:32:05
并不是每个人都在构建ASP.NET MVC应用程序...甚至不是每个人都在以任何形式构建ASP.NET。
WCF REST是一种完全独立于ASP.NET或web的服务技术--您可以在没有IIS的情况下使用WCF REST服务。
发布于 2012-05-02 04:08:36
虽然REST != HTTP在技术上是正确的,但大多数REST服务都在使用HTTP。和微软正在将他们的WCF HTTP/REST堆栈合并到ASP.Net中。从WCF codeplex站点查看此页面:
http://wcf.codeplex.com/wikipage?title=WCF%20HTTP
还有这一页
http://wcf.codeplex.com/discussions/319671
这样做的结果是,如果你想获得最新的HTTP REST支持,你应该明确地转向ASP.Net MVC4附带的新的ASP.Net Web。
使用这种方法,您的服务可以在IIS中工作(显然),但如果您愿意,也可以在can also be self hosted中工作。
此外,如果您在WIF中投资了现有的WCF服务(例如,自定义身份验证/授权管理器类、自定义令牌处理程序等)它们将很容易地从WCF迁移到ASP.Net。
最后,MVC 4 is open source,并接受社区的意见,所以它将是快速移动的和高质量的,MS让你因停止使用而陷入困境的风险要小得多。
https://stackoverflow.com/questions/5379849
复制相似问题