use*_*740 7 c# windows http httplistener owin
假设提升的用户(例如,安装程序)配置了URL保留:
netsh http add urlacl url="https://+:8105/" user="SVCACCOUNT" listen=yes
Run Code Online (Sandbox Code Playgroud)
现在,当Owin启动时(在SVCACCOUNT下运行),将导致以下错误:
System.Net.HttpListenerException: Failed to listen on prefix 'http://+:8105/' because it conflicts with an existing registration on the machine.
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(..)
at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(..)
...
at Microsoft.Owin.Hosting.Engine.HostingEngine.Start(StartContext context)
Run Code Online (Sandbox Code Playgroud)
Owin的“入口”点是:
WebApp.Start("http://+:8105", ..)
Run Code Online (Sandbox Code Playgroud)
在创建问题的过程中,我发现一个注册http://*:8105 和一个“有效”的Owin / HttpListener URL相同。
是什么阻止HttpListener(以及Owin)使用以前通过Strong Wildcard 进行的注册?
为什么*在注册和绑定中都使用(“弱通配符”)允许侦听器启动?(使用“强通配符”会引发上述错误;由于帐户访问受限,完全删除注册将导致侦听器失败并显示“访问被拒绝”。)
从哪里记录下来,从强通配符转换为弱通配符的解决方案有哪些“后果”?为何此修复程序还能起作用?从许多次询问相关问题(通常没有一个很好的答案)来看,+过去和/或在不同的系统或配置上似乎“可能起作用”:发生了什么变化?
(尽管找不到关于“冲突注册”的明确解释,但我发现有关http.sys配置的文档分散,例如“ 主机说明符类别 ”。)
如果每个System.Net.HttpListenerException删除了注册,则:无法侦听前缀'http:// localhost:8080,则Owin服务将成功启动。但是,我认为这需要更高的高度才能监听港口。
这是不是一个重复“ Owin自主机-无法监听前缀的‘http://本地主机:12345 /’,因为它与机器上的现有注册冲突 ”,因为当有问题出现仅是定义的URL保留:同样,没有其他进程在监听,这是通过netstat确认的。
诸如自托管OWIN和urlacl之类的问题使我相信这是权限问题或琐碎的事。例如,http://+:port与http://*:port有何不同?(不,使用“所有人”不能解决问题。)
“ 在非管理员帐户下运行自托管OWIN Web API ”中的注释可能是相关的-与+vs *.. 有关,并且总体上缺乏说明。
- What prevents HttpListener (and thus Owin) from using the registrations previously taken with a Strong Wildcard?
也许问题是您正在注册HTTPS协议:
netsh http add urlacl url="https://+:8105/" user="SVCACCOUNT" listen=yes
Run Code Online (Sandbox Code Playgroud)
然后您HTTP在代码中使用该协议:
WebApp.Start("http://+:8105", ..)
Run Code Online (Sandbox Code Playgroud)
-Why does using * (a "weak wildcard") in both registration and binding allow a listener to start?
Run Code Online (Sandbox Code Playgroud)
*和通配符之间的区别+是*包括 void 元素和+强制存在至少 1 个字符。我不知道执行差异,但可能很小,几乎难以察觉。
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |