c# - 如何在 IIS 上运行自托管(基于owin)Web api?

标签 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();
    }

现在我需要部署我的自托管 Web api 以在 IIS 上运行。那么,您能告诉我在 IIS 上启动并运行我的 Web api 的步骤吗?

最佳答案

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

  • 添加 Startup.cs 类(IIS 托管应用程序的入口点)
  • 告诉 OWIN 管道有关您的入口点的信息:将 Startup 类标记为 owin 属性或通过 web.config 执行此操作。 (See this article for reference)

附注您始终可以在 Visual Studio 中查看标准支架空 Web API 项目。它包括开箱即用的 IIS Web 主机

关于c# - 如何在 IIS 上运行自托管(基于owin)Web api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48201847/

相关文章:

c# - 以编程方式将一组图像连接在一起以形成背景

reactjs - 从 React 前端获取 Azure AD 的访问 token

c# - 当 json 负载无效时,不会调用自定义 ActionFilterAttribute

c# - 没有具有键 'IEnumerable<SelectListItem>' 的 "key"类型的 ViewData 项

c# - 使用 C# WinForms 的透明图像

asp.net-mvc - IIS 将非 www 重定向到 www 并将 http 重定向到 https

asp.net - Azure 上托管的 MVC 4 网站显示我无权查看目录或页面

iis - 带有 IIS URL 重写模块 2.0 的 Server.MapPath()

c# - 为什么我的帖子 JSON 对象没有被序列化?

c# - HttpClient : Conditionally set AcceptEncoding compression at runtime