代码之家  ›  专栏  ›  技术社区  ›  Geo

ASP.NET MVC如何与WCF相关?

  •  2
  • Geo  · 技术社区  · 16 年前

    A Guide to Designing and Building RESTful Web Services with WCF 3.5 本文解释了REST的基础以及它与WCF的关系。MVC使用REST作为体系结构模型。我猜有人可以使用.NET MVC创建同时具有前端和API点的Web应用程序,但我不确定构建API的安全方法是使用WCF构建它,然后在MVC中将其用作控制器。

    请评论如果问题不清楚,我将添加或修改文本。

    3 回复  |  直到 16 年前
        1
  •  2
  •   Jaimal Chohan    16 年前

    实际上还有第三种选择,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
  •   Robert Harvey    16 年前

    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和示例
    http://haacked.com/archive/2009/08/17/rest-for-mvc.aspx

        3
  •  -1
  •   TJB    16 年前

    它们是两组不同的技术,仅通过构建在.NET上进行关联。

    MVC用于创建网站,并提供一个模型,其中URL路由到控制器,控制器将视图作为用户界面传递给用户。

    WCF是.NET中的一组库,用于从正在通信的客户端和服务器抽象服务类型(它宿主在Windows服务中,作为IIS等中的Web服务)以及协议(HTTP、TCP、msmq等)。

    MVC网站可以使用WCF连接到Web服务,但这只是众多选项之一。

    推荐文章