11

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

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

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

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

4

2 回答 2

18

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

  1. 创建一个空的 ASP.NET 项目。
  2. System.Web.Http添加对和的引用System.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并享受结果:

在此处输入图像描述

于 2012-10-10T08:41:31.303 回答
3

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

  • System.Net.Http
  • 牛顿软件.Json
于 2013-05-16T03:14:27.820 回答