部署webAPI服务器端所需的最小文件

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

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

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

关于其他人为完成纯服务部署所做的工作的任何意见都将受到欢迎。

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

  1. 创建一个空的ASP.NET项目。
  2. 添加对System.Web.HttpSystem.Web.Http.WebHost (版本4.0.0.0)的引用
  3. 添加Global.asax文件
  4. Global.Application_Start注册路由。 就像是:

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

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

在此处输入图像描述

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

  • System.Net.Http
  • Newtonsoft.Json