【问题标题】:Convert MVC WebAPI controller to WCF service将 MVC WebAPI 控制器转换为 WCF 服务
【发布时间】:2013-02-04 15:11:16
【问题描述】:

我必须复制一个 MVC4 WebAPI 应用程序,但我的只会回显发送给它的数据,所以我想知道我是否应该使用更简单的 WCF 服务,因为 MVC4 WebAPI 应用程序有很多文件。暴露的 API 非常简单:

public Task<HttpResponseMessage> PostData(HttpRequestMessage requestMessage)

我有三个问题:

  1. 是否可以从 MVC4 WebAPI 中删除所有额外的 .js 和其他文件,因为我只需要公开一个 API 而不需要任何视图?
  2. 如果我要将它移植到 WCF,签名会是什么样子?

    [操作合同] HttpResponseMessage PostData(HttpRequestMessage 请求)

  3. 是否值得在 WCF 中编写回显服务?

【问题讨论】:

    标签: wcf web-services asp.net-mvc-4 asp.net-web-api wcf-web-api


    【解决方案1】:

    不要为此使用 WCF...而且我碰巧喜欢 WCF,所以这不是一个讨厌告诉你的人。

    如果您的 MVC4 WebAPI 项目中有很多文件,我不确定出了什么问题。您根本不需要任何 /Content 或 /Views。您几乎只需要 /Controllers/MyController.cs 文件本身和映射到它的路由,该路由应该在默认的 /App_Start/WebApiConfig.cs 中。

    【讨论】:

    • 如果您能提供一个支持 MVC4 WebAPI 的理由,那就太好了。我不确定它为什么要创建文件,或者我只是在创建项目时选择了 WebAPI,但它有主题、javascript 等 - 这没有意义。
    • 好吧,这只是 Visual Studio 中 ASP.NET WebAPI 的默认项目模板。他们假设您可能需要一个主页来描述您的 API 并开始设置 API 帮助内容,以便他们为您提供这些内容。就像我说的你可以删除它。如果您想将 WCF REST 服务与 WebAPI 进行比较,我可以这样做,但您已经可以找到很多这样的示例。
    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多