OWIN WebApp.Start 引发了“System.Reflection.TargetInvocationException”类型的第一次机会异常,该异常发生在 mscorlib.dll 中。

18

在我的代码中,我有这段代码:

        HOST = "*";
        PORT = 9000;
        baseAddress = "http://" + HOST + ":" + PORT + "/";

        // Start OWIN host. Should be called in TT extension code
        WebApp.Start<Startup>(url: baseAddress);

这导致以下问题出现:

'mscorlib.dll' 中发生了类型为 'System.Reflection.TargetInvocationException' 的第一次机会异常。 'mscorlib.dll' 中发生了类型为 'System.Reflection.TargetInvocationException' 的未经处理异常。 附加信息: 已通过调用目标引发异常。

在线上我找到了一个可能的解决方案,需要在CMD中以管理员身份运行以下命令:

netsh http add urlacl url=http://+:9000/ user=Everyone

但这并没有解决问题。有人可以帮忙吗?


1
访问被拒绝,来自 System.Collections.NetListnerException。 - azuric
你好 @azuric,你解决问题了吗? - Takeshi
正如我之前发布的那样,我解决这个问题的唯一方法是将所有东西都以管理员身份运行,而不是作为用户运行。 - azuric
我无法通过任何建议的方法解决这个问题,即使我以管理员身份运行它,仍然会出现。 - Zapnologica
将主机更改为“localhost”而不是“*”对我有所帮助。显然,这意味着它不会接受外部连接。 - Steve Smith
显示剩余2条评论
2个回答

12

你只需要在提升的命令提示符下运行:

netsh http add urlacl url=http://*:9000/ user=your_user_name
请注意,您提到使用了星号而不是加号。因此,您需要将星号路由添加到您的urlacl中,而不是像在您的帖子中提到的那样添加加号路由。完成后,您无需以管理员身份启动它。

0

上面的urlacl建议对我没有帮助。当我尝试使用端口5000时,我遇到了这个异常(在后续测试中,端口9000并没有引起这个异常)。根据readme.txt中的建议,在Package Manager Console中运行Install-Package Microsoft.Owin.SelfHost -Pre后,我将端口更改为12345,问题得到解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接