到目前为止,我正在开发一个应用程序,该应用程序使用HttpListener提供一个小型的独立http服务器。然而,我最近发现HttpListener需要以管理员身份运行,这并不总是可能的。
最好的替代方案是什么?我需要http GET和POST,它们都不是简单地在文件系统上读/写文件,它们需要运行定制的.Net代码。
到目前为止,我的研究已经提出了Cassini,但据我所知,我必须编写一个自定义版本。还有别的事吗?在部分中,具有与HttpListener相同的接口,但不需要管理员特权的东西将是惊人的!
发布于 2008-11-11 11:53:40
this other question中介绍了一种解决方案--您可以授予自己以非管理员身份运行HttpListener的权限。
您可以从命令文件启动应用程序,该文件对权限进行排序,然后运行真正的应用程序。
发布于 2012-03-12 19:24:45
就像Will Dean在你的帖子上评论的那样,你可以运行下面的netsh命令:
netsh http add urlacl url=http://+:8346/ user="NTAuthority\Authenticated Users" sddl="D:(A;;GX;;;AU)"将“http://+:8346/”替换为您的值,这将允许任何经过身份验证的用户在目标端点上运行run服务器。
发布于 2013-10-01 02:50:57
关于声明:
我最近发现需要以管理员身份运行HttpListener
这并不完全正确,其他一些答案涉及其中一个原因,但还有另一个原因:
其他发帖者注意到的
我们正在发布一个内部工具,它允许开发人员在他们的PC上运行基于HTTP的应用程序主机,我们最初认为由于管理员(或管理员授予权限)的问题,使用HttpListener是不可能的,但后来我们发现本地主机在没有管理员身份的情况下工作得很好。这在某种程度上是有道理的:在外部监听是“危险的”,但在本地机器上监听就不那么危险了。
https://stackoverflow.com/questions/280690
复制相似问题