Ошибка Asp.Net: Невозможно установить соединение, так как целевой компьютер активно отказался от него - PullRequest
0 голосов
/ 23 мая 2011

Всякий раз, когда я пытаюсь выполнить System.Net.HttpWebRequest.GetRequestStream () независимо от того, по какому URL-адресу я звоню, я получаю следующее сообщение об ошибке:

Exception Type: System.Net.WebException   
Message: Unable to connect to the remote server
Source: System

Stack Trace: 
   at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
   at System.Net.HttpWebRequest.GetRequestStream()
   at WorldVision.Sitefinity.Data.Business.WebServices.Viocorp.PreparePostRequest(WebRequest webRequest, NameValueCollection parameters) in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Data\Business\WebServices\Viocorp.cs:line 167
   at WorldVision.Sitefinity.Data.Business.WebServices.Viocorp.QueryWithParameters(ServiceType service, NameValueCollection parameters) in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Data\Business\WebServices\Viocorp.cs:line 109
   at WorldVision.Sitefinity.Data.Business.WebServices.Viocorp.QueryWithParameters(String serviceName, NameValueCollection parameters) in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Data\Business\WebServices\Viocorp.cs:line 87
   at WorldVision.Sitefinity.Data.Business.VioCorpVideoRepository.GetVideoByMediaId(String mediaId) in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Data\Business\IVioCorpVideoRepository.cs:line 28
   at WorldVision.Sitefinity.Modules.Story.WebControls.Design.VioCorpVideoControlDesigner.BindPresentation() in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Modules\Story\WebControls\Design\VioCorpVideoControlDesigner.cs:line 143
   at WorldVision.Sitefinity.Modules.Story.WebControls.Design.VioCorpVideoControlDesigner.BindVideo() in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Modules\Story\WebControls\Design\VioCorpVideoControlDesigner.cs:line 136
   at WorldVision.Sitefinity.Modules.Story.WebControls.Design.VioCorpVideoControlDesigner.Button_Command(Object sender, CommandEventArgs e) in c:\Inetpub\Websites\WvaFEGit\CmsWebsite\WorldVision.Sitefinity.Modules\Story\WebControls\Design\VioCorpVideoControlDesigner.cs:line 187
   at System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)
   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
------------------------------------------------------------------------------------
- L1 -------------------------------------------------------------------------------

Exception Type: System.Net.Sockets.SocketException

Message: No connection could be made because the target machine actively refused it 210.247.216.66:80

Source: System

Stack Trace: 
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
------------------------------------------------------------------------------------

Я смотрел на два разных URL-адреса издва разных провайдера, и я получаю абсолютно одинаковую ошибку, за исключением того, что IP-адрес различен.

Я проверил настройки брандмауэра, настройки IIS и настройки сервера, и ничего не выделяется.

Что важнохуже того, код работает на внешнем сервере, использующем IIS 7.5 с той же конфигурацией, но не работает на внутреннем сервере.

Мне также добавили внутренние IP-адреса в списки принятых двух провайдеров.

Поэтому код работает нормально снаружи, а не внутри.Никаких различий в коде вообще.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 23 мая 2011

Считаете ли вы, что исключение вам лжёт?

«целевая машина активно отказала ему» означает, что целевая машина получила запрос на подключение, но решила отклонить его, а не принимать.Это почти всегда означает, что порт, на который был сделан запрос, не прослушивает ничего.Я предполагаю, что это может означать, что что-то прослушивало, что он видел запрос на подключение и что он явно отклонил его.

Вам необходимо выяснить у "целевой машины", почему она "активно отказала" в соединениипопытка.

0 голосов
/ 23 мая 2011

Попробуйте это из командной строки проблемного компьютера:

telnet 55.55.55.55 80

55.55.55.55 представляет IP-адрес удаленного хоста.Обязательно указывайте после него пробел, прежде чем указывать 80 (порт).

Если telnet не может подключиться, значит, существует определенная проблема между вашим приложением и приложением хоста - возможно, брандмауэр или связанная с этим проблема.

Если telnet может подключиться, но ваше приложение все еще не может, то вы законно сузили его до очень маленькой вещи (приложения).

Другие советы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...