C#URL保留主机问题

C#URL保留主机问题,c#,web-services,acl,netsh,C#,Web Services,Acl,Netsh,我遇到了一个奇怪的问题,我确实将保留URL添加到ACL列表中(以编程方式类似于这样),但当执行一个程序时,仍然会收到错误消息“拒绝访问” 从CMD窗口(作为管理员)运行netshhttpshowurlacl,我可以看到保留的URL确实在它应该在的位置 Reserved URL : http://+:8000/RestService/ User: DESKTOP-F8O3V2Q\Boss Listen: Yes Delegate: N

我遇到了一个奇怪的问题,我确实将保留URL添加到ACL列表中(以编程方式类似于这样),但当执行一个程序时,仍然会收到错误消息“拒绝访问”

从CMD窗口(作为管理员)运行
netshhttpshowurlacl
,我可以看到保留的URL确实在它应该在的位置

 Reserved URL            : http://+:8000/RestService/
    User: DESKTOP-F8O3V2Q\Boss
        Listen: Yes
        Delegate: No
        SDDL: D:(A;;GX;;;S-1-5-21-990234104-2306344669-2817477651-1001)

嘿。。。因此,看起来线程的执行速度比添加ACL异常更快。一个简单的线程睡眠命令就这样解决了这个问题

public void initRest() {
    // Add ACL Service Exception
    addACLServiceException();
    Thread.Sleep(2000);
    ... rest of code

您的netsh进程正在异步运行,“addACLServiceException”可能在netsh完成之前退出。您可以使用Process.WaitForExit()停止,直到netsh完成。这可能比等待任意长度的时间要好。
public void initRest() {
    // Add ACL Service Exception
    addACLServiceException();
    Thread.Sleep(2000);
    ... rest of code