Приложение не может вызвать вызов покоя на сервере Win 2016, но прекрасно работает в Win 10 - PullRequest
0 голосов
/ 18 октября 2019

Веб-приложение не может вызвать оставшийся вызов на нашем недавно развернутом VPS-сервере, на котором установлен сервер Windows 2016. Код прекрасно работает на сервере Windows 10, где он может вызвать остальной вызов. Отсутствует ли какой-либо модуль на сервере Windows 2016 (.Net версии 4.7.2), он не работает? Веб-приложение и остальные серверные службы развернуты на одном компьютере VPS. Исходный код веб-приложения был скомпилирован в .net версии 4.5.

Webconfig содержит следующие записи. Мы попытались настроить с использованием IP-адреса службы, адреса доменного имени, а также как «localhost».

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
<!--     <add key="EmailServiceURL" value="https://services.mydomain:9876/EmailService" /> -->
<!--     <add key="EmailServiceURL" value="https://localhost:9876/EmailService" /> -->
     <add key="EmailServiceURL" value="https://XXX.XXX.XXX.XXX:9876/EmailService" /> 
  </appSettings>

Остальные API корректно запускаются, когда остальной клиент вызывает их с того же VPS-сервера.

Это простой код, который работает в среде Windows 10, а не новый сервер VPS Window 16, который мы настроили. Как вы думаете, какие-либо компоненты установки .NET отсутствуют?

string UrlString = ConfigurationManager.AppSettings["M3QEmailServiceURL"];
        string strMethod = "POST";
<... more code ...>
         result = InvokeWebRequest(UrlString, strMethod, strJsonData.ToString());
<... more code ...>
        public string InvokeWebRequest(string UrlString, string strMethod, string jsonString)
        {
            var request = WebRequest.Create(UrlString);
            request.ContentType = "application/json";
            request.Method = strMethod;
            using (var writer = new StreamWriter(request.GetRequestStream()))
            {
                writer.WriteLine(jsonString);
            }
            var response = request.GetResponse();
            string strResult = string.Empty;

            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                strResult = sr.ReadToEnd();
                sr.Close();
            }
            return strResult.ToString();
        }
    }
...