c# - 如何在生产中部署 Owin 自托管应用程序?

标签 c# asp.net asp.net-web-api2 owin self-hosting

我有一个 Asp.Net Owin 自托管 WebApi 应用程序。 该应用程序可以作为 Windows 服务安装在生产环境中。

目前我正在运行并通过 url http://localhost:8000 访问该服务成功。

现在我想将服务映射到域以从公共(public)网络访问它。我有一个注册域并且可以控制它。 例如:www.myservice.com

如何将域指向自托管应用程序的 WebApi 服务?

最佳答案

为了允许公众访问您的自托管 OWIN Web API 应用程序。按照以下步骤操作:

  1. 允许来自防火墙的入站连接

    运行 wf.msc命令打开高级安全 Windows 防火墙并为 TCP 端口 8000 或您要使用的端口添加新的入站规则。

    您可以通过打开 <machine public ip>:8000 来确保您的服务正在收到请求来自其他机器。

  2. 从 ISP 获取静态 IP

    向您的 ISP 请求静态 IP。大多数时候,ISP 会为此收取额外费用。如果您已经拥有静态 IP,请跳过此步骤并转到下一步。

  3. 将您的域指向静态 IP

    最后,转到您的域 DNS Manager并添加 A RecordHost Name = wwwIP Adress = <your machine static IP> .

    您可能还需要添加另一个 A RecordHost Name = @IP Adress = <your machine static IP>如果您还想在没有 www 的情况下访问您的服务.

    The procedure of adding A Record varies. You can simply read knowledge base documents provided by your registered on how to add A Record.

关于c# - 如何在生产中部署 Owin 自托管应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43271665/

相关文章:

c# - UITableView 多列实现

c# - 关于 Novacode Docx : How do I add soft returns within paragraphs

asp.net - WebApi 字符串操作中的 IModelBinder

facebook - 在 Web API 中返回 401 Facebook 登录

c# - 有没有像 Buffer.Last Position Of 这样的东西?在缓冲区中找到最后一次出现的字符?

asp.net - 什么是 AspxAutoDetectCookieSupport

asp.net - MVC5 OWIN 广告和数据库

c# - Azure - WebAPI 无法连接到 Azure DB,错误 : The system cannot find the file specified [SqlException]

c# - 如何在 web-API 中获取域名/IP 名称?

c# - 从数据库 c Sharp 中选择第 5 个条目