自托管的OWIN Web服务-不监听

时间:2020-06-10 04:21:47

标签: rest http asp.net-web-api owin

问题:
运行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/hubs
Self hosted OWIN and urlacl
Owin selfhost: using netsh to add an urlAcl seems to cause 503

1 个答案:

答案 0 :(得分:0)

她的解决方案似乎无关紧要。
在Startup类中,它试图输入重复数据库条目并引发异常。 但是,此异常被包装在已经被处理(并被错误使用)的TargetInvocationException中。
错误处理已更新,所有系统现在都可以正确侦听指定端口。