如何在IIS上运行自托管(基于owin)的web api?

时间:2018-01-11 07:28:33

标签: c# iis asp.net-web-api owin self-host-webapi

我使用控制台应用程序开发了自托管(基于owin)的web api。

在开发阶段,我正在运行控制台应用程序,一切正常。

  static void Main(string[] args)
    {

        string baseUri = "http://+:8080";

        Console.WriteLine("Starting web Server...");
        var server = WebApp.Start<Startup>(baseUri);
        Console.WriteLine("Server running at {0} - press Enter to quit. ", baseUri);
        Console.ReadLine();
        server.Dispose();
    }

现在我需要部署我自己托管的网络API以在IIS上运行。所以,请你告诉我在IIS上启动和运行我的web api的步骤?

1 个答案:

答案 0 :(得分:2)

为了理解理论 - take a look at this question。如果您希望在IIS上运行OWIN自托管WEB API应用程序,则需要使用Owin.Host.SystemWeb package。你应该:

  • 添加一个Startup.cs类(IIS托管应用程序的入口点)
  • 告诉OWIN管道您的入口点:Mark Startup class with owin属性或通过web.config执行。 (See this article for reference

P.S。您始终可以在Visual Studio中查看标准的scaffolded empty Web API项目。它包括开箱即用的IIS Web主机