|
|
1
2
实际上还有第三种选择,ado.net数据服务。不管怎样,这就是我对他们的看法。 MVC REST:使您能够完全控制如何公开数据,您必须编写所有代码以使其运行tho,例如序列化、反序列化、所有CRUD方法等。注意,这是一个MVC站点意味着您仅限于通过HTTP上的IIS公开服务。 WCF REST:比MVC更自动化,比MVC REST更可靠的frameowkr,即缓存、安全、错误处理等(基本上所有的stff都必须使用普通的MVC编写)。作为WCF,您可以通过各种方式(例如WS、TCP)等来承载它。 ADO.NET数据服务:最快的运行方式是配置global.asax,但是您必须使用实体数据模型,这是许多人不想使用的。 就个人而言,我将使用ADO.NET数据服务或WCF REST来构建API,在MVC站点中使用该API,然后直接公开该API,或者通过传递它到另一层。 |
|
|
2
1
ASP.NET MVC可以作为光服务工作的一个休息端点,所以我想您的问题的答案取决于您如何定义“安全”。 显然,WCF是专门为创建REST端点而设计的,具有所有隐含的安全含义,而ASP.NET MVC是为创建可由ASP.NET MVC本身使用的REST端点而设计的。 以下文章演示如何使用ASP.NET MVC控制器创建Web服务: 使用能够同时使用JSON和纯XML的ASP.NET MVC创建RESTAPI http://msmvps.com/blogs/omar/archive/2008/10/03/create-rest-api-using-asp-net-mvc-that-speaks-both-json-and-plain-xml.aspx 另请参见Phil Haack的以下文章,该文章讨论了WCF团队为ASP.NET MVC用户组合的一个SDK:
其余为ASP.NET MVC SDK和示例
|
|
|
3
-1
它们是两组不同的技术,仅通过构建在.NET上进行关联。 MVC用于创建网站,并提供一个模型,其中URL路由到控制器,控制器将视图作为用户界面传递给用户。 WCF是.NET中的一组库,用于从正在通信的客户端和服务器抽象服务类型(它宿主在Windows服务中,作为IIS等中的Web服务)以及协议(HTTP、TCP、msmq等)。 MVC网站可以使用WCF连接到Web服务,但这只是众多选项之一。 |