问题:运行Web API时,使用OWIN自托管,将拒绝所有HTTP连接(不返回状态代码),但仅在特定的测试计算机上,而不在任何其他计算机上(它们都可以正常工作)。
示例代码:
public static void Main(string[] args){
var options = new StartOptions();
options.Urls.Add($"http://+:{port}");
using(Microsoft.Owin.Hosting.WebApp.Start<Startup>(options)){
Console.WriteLine("Press Enter to exit.");
Console.ReadKey();
}
}
其他信息:-以管理员身份运行消除了问题的根源。因此url端口保留不是问题。-尝试使用各种端口号消除端口号冲突。-通过在服务的baseurl中使用+ url前缀,消除了其他侦听器拦截请求的情况。-调用localhost(以及其他解析为127.0.0.1的主机名)可消除防火墙。-已使用调试器运行代码,那里没有异常。-当我为该端口运行netstat时,没有条目。 (工作机显示出一种仇恨。)
问题:我想知道这台特定机器的问题是什么,以及如何解决。您对此有何建议?
未回答我的问题(或不适用)的相关问题:Self-hosted OWIN project; http://localhost:8080 won't work, http://+:8080 does?HTTP 503 Service is unavailable when trying to browse signalr/hubsSelf hosted OWIN and urlaclOwin selfhost: using netsh to add an urlAcl seems to cause 503
她的解决方案似乎无关紧要。它试图输入重复的数据库条目并引发异常。但是,此异常被包装在已经被处理(并被错误使用)的TargetInvocationException中。错误处理已更新,所有系统现在都可以正确侦听指定的端口。