WebRequest System.Net.WebException: невозможно подключиться к удаленному серверу; номер порта изменяется в исключительной ситуации - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть два самоустанавливающихся приложения .Net, использующих System.Web.Http.SelfHost для .Net Framework 4.0, оба приложения взаимодействуют через https.

Первое приложение использует порт: 3287, а второе приложение использует порт: 3286

когда я звоню из первого приложения во второе приложение, используя HttpWebRequest класс, я получаю это исключение

System.Net.WebException: Unable to connect to the remote server ---> 
System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:49543
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()

Вот мой код c #

HttpWebRequest request = WebRequest.Create("https://localhost.company.com:3286/"+ EndPoint) as HttpWebRequest;
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => 
{
    return true;
};
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
request.AllowAutoRedirect = false;
request.Expect = "application/json";
request.GetRequestStream().Write(data, 0, data.Length);
HttpWebResponse httpResponse = request.GetResponse() as HttpWebResponse;
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
    string s = streamReader.ReadToEnd();
    return s;
}

так как я звоню в порт 3286, но в журнале исключений номер порта меняется на 49543.

если я позвоню своему заявлению через почтальона, я смогу получить от него ответ.

сертификат localhost.company.com сопоставлен с 127.0.0.1, и я также сопоставил файл хоста.

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