尝试以其访问权限禁止的方式访问套接字

我刚刚下载了C#SDK和ASP.NET MVC示例,修改它以使用4.2.1。 (web config facebookSettings参数等),创建了我的Facebook应用程序并尝试运行它。 点击Facebook登录按钮 – 好吧,输入凭据进入facebook弹出窗口 – 确定,允许访问我的应用程序 – 好的,然后我收到此错误:

System.Net.Sockets.SocketException:尝试以其访问权限禁止的方式访问套接字66.220.146.47:443

var app = new FacebookApp(); if (app.Session == null) { // The user isnt logged in to Facebook // send them to the home page return RedirectToAction("Index"); } // Get the user info from the Graph API dynamic me = app.Api("/me"); // EXCEPTION THROWN HERE ViewData["FirstName"] = me.first_name; ViewData["LastName"] = me.last_name; 

我认为app对象是正确的(包含设置参数,具有访问令牌的会话对象和我的facebook用户ID等)

我使用本地开发地址http://myappdev.local (在hosts文件中设置为127.0.0.1 )。 在我的Facebook应用设置中设置了相同的地址,也是域myappdev.local – 这可能是问题吗? 我在一些教程中看到了使用localhost:1234的示例。

解决了…我的坏 – 我的防火墙“默默地”阻止ISS工作进程连接端口443 …我希望至少我从同一个错误中拯救了一些人:)

如果您在Windows 8开发中遇到相同的错误,可能是您未在Package.appxmanifest文件中启用通过专用网络访问:

突出显示专用网络(客户端和服务器)选项

我知道这篇文章是从2011年开始的,但它仍然是谷歌搜索匹配其标题逐字的第一个结果,这恰好是确切的错误代码;)。 任何人,我以为我会为其他有错误的人加上我的两分钱,因为我的解决方案类似但不同。

问题也在我的最后。 不过,我正在使用smtp客户端发送邮件。 我运行PeerBlock,它阻止了可疑的IP。 我看到它阻止了我离开网络之前发送的IP之一。 一个简单的规则exception和问题就解决了。

应检查TL; DR防火墙和其他互联网安全过滤工具,以确保不会导致此问题。

面对类似的问题,我检查了可能导致错误的一切,这包括正确的端口使用,防火墙设置甚至操作系统的服务器兼容性问题,只是发现反病毒是造成它的那个,

确保禁用阻止套接字连接的防病毒function,或者添加免除特定的.exe或程序,以免被blcocked。

我使用McCafee,我取消选中阻止套接字连接发送邮件的function,并且它有效。

当我尝试运行一个简单的http Web应用程序,在Windows 10 Home上用Go(golang)编写的端口80上运行时,我遇到了类似的问题。

经过一些研究后,我发现由于某些原因,“万维网发布服务”(W3SVC)正在运行。 停止和禁用该服务解决了我的问题。

我从未使用过这项服务。 我想过去安装并启用了Visual Studio Community 2013安装并启用了此服务。 当我第一次遇到这个问题时,我认为这是一个特权问题,因为在Linux系统上,侦听端口<1023的应用程序必须以root权限运行。 但在Windows 1023中并非如此。

毕竟,找到这个微不足道的问题花了我大约2个小时,这就是为什么我把这个答案发布到这个相当古老的线程。

基本上这是我所做的总结:

1)谷歌的错误信息(完全包含在这个线程的问题)。
– 返回了与我的具体问题无关的许多问题。
– 我找不到解决问题的具体答案。
– 但是,我发现了进一步分析的提示。

2)第一个提示是使用netstat。

 netstat -o -n -a | findstr 0.0.0.0:80 netstat -o -n -a | findstr 127.0.0.1:80 

原来,Id 4的进程正在侦听端口80。

3)在Taskmanager的Details选项卡上查找Process#4。

这表明涉及系统(NT内核和系统)。

4)尝试使用带有Telnet到端口80的PUttY访问localhost上的端口80。
(确保设置**关闭退出* 永不

  Bad Request  

Bad Request - Invalid Verb


HTTP Error 400. The request verb is invalid.

HTTP/1.1 400 Bad Request Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Thu, 05 Oct 2017 13:13:29 GMT Connection: close Content-Length: 326

5)到目前为止收集的信息没有提供具体的提示,但允许我在Google上进行更具体的搜索。 现在,Google返回的信息表明,在端口80上侦听的某些系统服务很可能是问题的根源。

6)现在很容易在服务管理器中查找这样的运行服务。 我发现的第一个可能是问题的根源(因为它的名字中包含WWW)是“WWW-Publishingdienst”(在我的德语电脑上),它代表英语系统上的“万维网发布服务”语言设定。 我停止了服务 – 瞧! 这是问题的原因。

我在本地运行MySQL数据库,我遇到了类似的问题。 我完成了与同一问题相关的post中显示的所有步骤:

  • 禁用防火墙
  • 禁用杀毒软件
  • 重置TCP / IP堆栈
  • 重启电脑
  • validation连接字符串

这些都没有奏效。 我发现问题对我来说就是我的VPN(Astrill)。 由于某种原因,它导致这些localhost连接失败。 断开与VPN连接解决了我的问题。