OWIN - 没有特定端口的自托管Web Api

时间:2014-05-22 12:35:49

标签: c# asp.net-web-api localhost owin self-hosting

是否可以自动托管WebApi服务而不指定本地端口,如下所示:

Microsoft.Owin.Hosting.WebApp.Start<Startup1>("http://localhost:9000")

我认为部署到客户可能会很麻烦(例如防火墙问题或与占用同一端口的其他服务发生冲突)。

我一无所获。每个教程/示例都使用端口。

没有Owin,可以使用WebApi服务。

编辑: 我希望该服务根本不使用任何端口。服务器应像在本博客中一样运行“内存”:  asp-net-web-api-in-memory-hosting/

2 个答案:

答案 0 :(得分:2)

这可能是一个解决方案: owin-memory-integration-testing

它位于Microsoft.Owin.Testing包中。

  

这将允许我们创建一个可以接受的内存服务器   HTTP请求并在不触及网络的情况下发出HTTP响应   堆栈(完全在进程中),这非常有效   非常快。

答案 1 :(得分:1)

将该字符串移至web.config文件:

<appSettings>
    <add key="_API_URL" value="http://localhost:9000">
</appSettings>

然后您可以在代码中使用它:

Microsoft.Owin./*...*/(ConfigurationManager.AppSettings["_API_URL"]);

然后,可以在部署期间或之后转换配置文件中的任何设置,而无需更改代码或重建代码。让“IT管理员”处理防火墙。