关于c#:部署web API服务器端所需的最少文件

Minimum files needed to deploy webAPI server side

所以经过大量研究后,我开始使用 webAPI 入口点来增强我们的服务服务器堆栈。基于这个线程,尤其是 Digerati 董事会成员的最后一篇文章,我们正在将 webAPI 服务作为外观实现到我们的 WCF 应用程序层中。 (我们的 WCF 服务只是所有行为所在的应用程序层的外观)

我的问题是这样的。我下载了 MVC 4 并在我的服务解决方案中创建了一个新的 WebAPI 项目。但是哇,在我的项目中创建了很多我不需要的废话!例如,所有的图像文件、家庭控制器、视图和模型等。

因此,在将其剥离为一个服务项目时,构建一个功能性服务项目所需的最少文件是什么?我们的目的是在同一个服务器中并排发布两种服务类型(WCF 和 webAPI)。每个服务调用都执行相同的服务调用,并为请求返回特定的 DTO。到目前为止,它看起来像 App_Start、Controllers 和 Glabal.asax/web.config 条目。我绝对不需要视图、模型或图像!!!

任何关于其他人为进行纯服务部署所做的工作都将在这里受到欢迎。


这里也有同样的问题。我发现 Shawn Kendrot 的那篇文章解释了如何创建最小的 Web API 项目。它是为测试版 Web API 编写的,但它似乎仍然有效。

  • 创建一个空的 ASP.NET 项目。
  • 添加对 System.Web.HttpSystem.Web.Http.WebHost 的引用(版本 4.0.0.0)
  • 添加 Global.asax 文件
  • Global.Application_Start 中注册一个路由。类似于:

    1
    2
    3
    4
    5
    6
    7
    protected void Application_Start(object sender, EventArgs e)
    {
        GlobalConfiguration.Configuration.Routes.MapHttpRoute(
            name:"DefaultApi",
            routeTemplate:"api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional });
    }
  • 添加控制器

    1
    2
    3
    4
    5
    6
    7
    public class SampleController : ApiController
    {
      public string Get(int id)
      {
        return"Hello";
      }
    }
  • 使用 URL /api/sample/123 在本地运行项目并享受结果:
  • enter


    仅供参考。我发现我不得不引用另外两个 .dll:

    • System.Net.Http
    • 牛顿软件.Json