在 http 侦听器的 start() 函数上将出现异常“访问被拒绝”[重复]

Posted

技术标签:

【中文标题】在 http 侦听器的 start() 函数上将出现异常“访问被拒绝”[重复]【英文标题】:on start() function of httplistener going to exception "Acess Denied" [duplicate] 【发布时间】:2013-10-24 05:57:34 【问题描述】:

我正在使用智能手持设备使用 url 进行数据库通信的服务。在这里,当我去 httplistener.start() 函数时,我得到了一个拒绝访问的异常。如何解决这个问题。在这里,我以普通用户身份登录。我的用户名 =NI-PC036,用户域 = User33。

      urlExecuter = new UrlExecuter();
                eventStop = new ManualResetEvent(false);


                mysql.Start();

                // HTTP
                httpListener = new HttpListener();
                httpListener.Prefixes.Add("http://*/");
                httpListener.Start();
                httpListener.BeginGetContext(new AsyncCallback(HttpListenerCallback), httpListener);
  httpListener.BeginGetContext(new AsyncCallback(HttpListenerCallback), httpListener);


            cleanupThread = new Thread(delegate()
            
                while (!eventStop.WaitOne(5 * 60 * 1000))   // 5Min
                
                    try
                    
                        if (cleanupTime.AddDays(1) < DateTime.Now)
                        
                            int days = MiscTool.ReadIni<int>("SERVICE", "KEEP", 60);
                            Cleanup.Execute(days);
                            cleanupTime = DateTime.Now.Date;
                        
                    
                    catch (Exception ex)
                    
                        Program.WriteExceptionLog("cleanupThread", ex);
                    
                
            );
            cleanupThread.Start();
        

【问题讨论】:

【参考方案1】:

当您监听 * 时,您必须以管理员身份运行,或者您必须授予您正在运行的帐户的权限才能监听 *。

*** 上还有其他几篇文章已经讨论过这个问题。

如果您在 http://localhost/[...] 上收听,那么您无需成为管理员或为您的帐户授予 prvis。请记住,您必须在 URL 中加载带有 localhost 而不是 127.0.0.1 的页面,因为 127.0.0.1 将失败......这与向 localhost 发出请求并不完全相同。

【讨论】:

以上是关于在 http 侦听器的 start() 函数上将出现异常“访问被拒绝”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

添加新线程以侦听网络时应用程序冻结

npm start 与节点 app.js

如何将参数传递给 flex/actionscript 中的事件侦听器函数?

Unity:为啥添加事件侦听器仅在唤醒功能中起作用?

在 8086 微处理器上将 32 位两个数字相乘

javax.swing.Timer的使用