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

从控制台生成的ASP.NET Web Api

  •  1
  • Scaraux  · 技术社区  · 6 年前

    我想使用 ASP.Net Web Api 打开并输出到 Console .

    原因是我在启动webapi之前初始化了很多元素和对象。然后我用依赖注入注册这些对象,以便在我的系统中访问它们 ApiController .

    我知道可以将日志从webapi发送到调试控制台,但这不是我想要的。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Angel Dinev    6 年前

    1. 创建控制台应用程序
    2. using Owin;
      using System.Web.Http;
      
      namespace YourConsoleAppProjectNamespace {
          public class Startup {
              public void Configuration(IAppBuilder appBuilder) {
                  HttpConfiguration config = new HttpConfiguration();
                  config.Routes.MapHttpRoute(
                      name: "DefaultApi",
                      routeTemplate: "api/{controller}/{id}",
                      defaults: new { id = RouteParameter.Optional }
                  );
                  appBuilder.UseWebApi(config);
              }
          }
      }
      
    3. 修改项目的Main()

      using Microsoft.Owin.Hosting;
      using System;
      
      namespace YourConsoleAppProjectNamespace {
          class Program {
              static void Main(string[] args) {
                  WebApp.Start<Startup>("http://localhost:3333/");
                  Console.ReadLine(); // block main thread
              }
          }
      }
      
    4. 用动作方法定义控制器并进行测试。