.NET HttpListener Prefix问题与localhost以外的任何问题
我正在尝试使用C#和HttpListener
,其前缀不是localhost,但它失败了(即如果我给它server1
,即
https://localhost:1234
有效,但是
https://server1:1234
失败
代码是……
HttpListener listener = new HttpListener(); String prefix = @"https://server1:1234"; listener.Prefixes.Add(prefix); listener.Start();
失败发生在listener.Start()
上,但Access is denied.
。
我曾经遇到过同样的问题,我通过为网络shell(netsh)的用户/用户添加指定URL命名空间的URL保留来解决它。 以下是如何为每个用户保留URL的示例,请在命令提示符下以管理员身份运行:
netsh http add urlacl url=https://server1:1234/ user=Everyone
下面是一个如何为一个用户保留URL的示例,在命令提示符下以管理员身份运行:
netsh http add urlacl url=https://server1:1234/ user=Steve
这样,您无需以管理员身份运行应用程序
您的应用是否以提升的权限运行?
普通帐户无法在未事先预订的情况下挂钩Http管道。
https://msdn.microsoft.com/en-us/library/Aa364673
它可以在安装时以编程方式完成。 如果我感兴趣,请告诉我,我会挖出一些代码。
编辑:
实际上,由于我无法确定代码来自何处,我无法在此处发布。 有一个用于做这种事情的编码复合项目,绝对值得分开。
/编辑
这是在命令行上进行预订的一种方法:
https://www.casadehambone.com/HowToAddAURLACLAndAvoidAddressAccessDeniedExceptionInWindowsVista.aspx
上述就是C#学习教程:.NET HttpListener Prefix问题与localhost以外的任何问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/999750.html