Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自远程服务器的MVC WebAPI的错误500_C#_Asp.net Mvc_Asp.net Web Api - Fatal编程技术网

C# 来自远程服务器的MVC WebAPI的错误500

C# 来自远程服务器的MVC WebAPI的错误500,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,当我尝试使用新的Windows server 2016连接到远程服务器上的WebAPI时,似乎从服务器收到错误500。 我在这里束手无策。原因可能是什么?其他服务器上的WebAPI工作正常 ?response {StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: { Pragma: no-cache Ca

当我尝试使用新的Windows server 2016连接到远程服务器上的WebAPI时,似乎从服务器收到错误500。 我在这里束手无策。原因可能是什么?其他服务器上的WebAPI工作正常

?response
{StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Pragma: no-cache
  Cache-Control: no-cache
  Date: Thu, 02 Jan 2020 07:43:05 GMT
  Server: Microsoft-IIS/10.0
  X-Powered-By: ASP.NET
  Content-Length: 36
  Content-Type: application/json; charset=utf-8
  Expires: -1
}}
    Content: {System.Net.Http.StreamContent}
    Headers: {Pragma: no-cache
Cache-Control: no-cache
Date: Thu, 02 Jan 2020 07:43:05 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
}
    IsSuccessStatusCode: false
    ReasonPhrase: "Internal Server Error"
    RequestMessage: {Method: POST, RequestUri: 'http://url/appname/api/api/Login', Version: 1.1, Content: System.Net.Http.ObjectContent`1[[appname.BO.AdUserBO, appname.BO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Headers:
{
  Content-Type: application/json; charset=utf-8
  Content-Length: 199
}}
    StatusCode: InternalServerError
    Version: {1.1}

这里没有什么可供我们参考的信息。让我们从基础开始

超文本传输协议(HTTP)500内部服务器错误服务器错误响应代码表示服务器遇到意外情况,无法满足请求

此错误响应是一个通用的“全包”响应。通常,这表示服务器无法找到更好的5xx错误代码来响应。有时,服务器管理员会记录错误响应,如500状态代码,并提供有关请求的更多详细信息,以防止将来再次发生错误

这意味着发生了意想不到的事情。现在在WebAPI中,这可能是许多事情之一:

  • 格式不正确的
    web.config
    。一个容易验证的方法
  • 意外的例外。这可能在过滤器、控制器或应用程序初始化中的任何位置
  • 一些导致2的因素,比如连接不到位,访问某些api或缺少的数据库等
  • 识别问题的方法 使用事件查看器 事件查看器中经常会出现错误500

    使用 在
    应用程序\u启动
    -Global.asax文件中

    var config = GlobalConfiguration.Configuration;
    config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
    
    创建自定义 如果您想添加更多信息、部分隐藏stacktrace或创建自己的配置,可以通过WebApi 2实现

    异常记录器是查看Web API捕获的所有未处理异常的解决方案

    异常处理程序是一种解决方案,用于定制对Web API捕获的未处理异常的所有可能响应

    异常过滤器是处理与特定操作或控制器相关的未处理异常子集的最简单解决方案


    事件查看器中是否有任何内容?此处没有错误说明:(