是否可以自动托管WebApi服务而不指定本地端口,如下所示:
Microsoft.Owin.Hosting.WebApp.Start<Startup1>("http://localhost:9000")
我认为部署到客户可能会很麻烦(例如防火墙问题或与占用同一端口的其他服务发生冲突)。
我一无所获。每个教程/示例都使用端口。
没有Owin,可以使用WebApi服务。
编辑: 我希望该服务根本不使用任何端口。服务器应像在本博客中一样运行“内存”: asp-net-web-api-in-memory-hosting/
答案 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管理员”处理防火墙。