Asp.net mvc 应用程序无法在Win 2016服务器中调用rest调用,但在Win 10中工作正常

Asp.net mvc 应用程序无法在Win 2016服务器中调用rest调用,但在Win 10中工作正常,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,Web应用程序无法在新部署的具有Windows 2016服务器的VPS服务器中调用rest调用。该代码在Windows10服务器中运行良好,可以调用rest调用。2016 Windows server(.Net版本4.7.2)中是否缺少某些模块?此模块不工作?Web应用程序和后端rest服务部署在同一台VPS机器中。最初的web应用程序代码是在.net 4.5版上编译的 Webconfig有以下条目。我们尝试使用服务IP地址、域名地址以及“本地主机”进行配置 当rest客户端从同一VPS服务

Web应用程序无法在新部署的具有Windows 2016服务器的VPS服务器中调用rest调用。该代码在Windows10服务器中运行良好,可以调用rest调用。2016 Windows server(.Net版本4.7.2)中是否缺少某些模块?此模块不工作?Web应用程序和后端rest服务部署在同一台VPS机器中。最初的web应用程序代码是在.net 4.5版上编译的

Webconfig有以下条目。我们尝试使用服务IP地址、域名地址以及“本地主机”进行配置


当rest客户端从同一VPS服务器调用rest api时,rest api被正确调用

这是一个在Windows10Env中工作的简单代码,而不是我们设置的新VPS Windows16服务器。您认为缺少任何.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();
        }
    }
string UrlString=ConfigurationManager.AppSettings[“M3QEmailServiceURL”];
字符串strMethod=“POST”;
结果=InvokeWebRequest(UrlString、strMethod、strJsonData.ToString());
公共字符串InvokeWebRequest(字符串UrlString、字符串strMethod、字符串jsonString)
{
var request=WebRequest.Create(UrlString);
request.ContentType=“application/json”;
request.Method=strMethod;
使用(var writer=newstreamwriter(request.GetRequestStream()))
{
writer.WriteLine(jsonString);
}
var response=request.GetResponse();
string strResult=string.Empty;
使用(StreamReader sr=newstreamreader(response.GetResponseStream()))
{
strResult=sr.ReadToEnd();
高级关闭();
}
返回strResult.ToString();
}
}

什么是“无法调用”?你收到错误信息了吗?您是否从服务器获得意外结果?您用来进行此调用的代码是什么样子的?您的问题中没有足够的信息来真正提供问题的具体答案。添加了调用rest服务的代码。似乎呼叫没有转到rest服务器。在任何日志中都看不到错误。它可能正在调用rest服务,但悄悄地失败了。REST服务服务器未显示在其日志中,表明有呼叫进入。“System.Net.WebException:基础连接已关闭:无法为SSL/TLS安全通道建立信任关系。-->System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。\r\n在System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken消息,AsyncProtocolRequest asyncRequest,Exception Exception)\r\n在System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken消息,AsyncProtocolRequest asyncRequest)\r\n在
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();
        }
    }