【问题标题】:This page isn’t working .Localhost is currently unable to handle this request. HTTP ERROR 500此页面无法正常工作。Localhost 当前无法处理此请求。 HTTP 错误 500
【发布时间】:2020-03-01 22:18:41
【问题描述】:

此页面无法正常工作 localhost 当前无法处理此请求。 HTTP 错误 500

我已经在 IIS 上发布了具有所有配置的 Web API 项目。

已经尝试过的东西:

  1. .Net Core 托管包。 (添加) 我可以在 IIS 目标网站模块中看到它。
  2. 多次检查 IIS 设置。

注意:

  1. API URL 只是返回一个具有字符串返回类型的方法,它是 但是当我点击另一个具有列表返回类型的方法时,它会显示消息“本地主机当前无法处理此请求”。

  2. 如果不在 IIS 上发布项目,它工作得非常好。

默认方法控制器工作正常,返回字符串。

但是当我在控制器中调用其他方法时,它会显示错误消息“Localhost 当前无法处理请求” *URL 不工作(调用返回字符串的默认方法) enter image description here

工作 URL(在控制器中调用另一个方法) enter image description here

【问题讨论】:

  • 请包括一些在问题中不起作用的方法,以便我们看看
  • 您正在连接到服务器,因此在您尝试连接之前,服务器必须正在运行。错误消息说连接失败,这可能有很多原因。这里有一些 1)服务器没有运行 2)当服务器在另一台机器上时,您试图连接到本地机器上的服务器 3)端口被阻塞 4)没有到服务器的路由。尝试同时使用 IP 地址和服务器名称。确保您可以从客户端 Ping 到服务器。
  • “当我在控制器中调用其他方法时”,如何?您必须编辑您的问题以显示相关代码。“Localhost 当前无法处理请求”,您需要显示整个错误消息/页面,如果您不知道要显示哪个部分,最好是屏幕截图。跨度>
  • Not working method->[Produces("application/json")] [HttpGet("GetTaskStatus")] public ActionResult> GetTaskStatus() {} 下面是默认的方法控制器-> public ActionResult> Get() { return new string[] { "value4", "value2" }; } 抱歉回复太慢了
  • 我已经编辑了问题并添加了屏幕截图。我仍然无法解决问题。

标签: c# asp.net-core iis


【解决方案1】:

如果您得到的错误代码只是500,而不是500.x,那么this 描述了发生了什么:

应用启动,但错误阻止服务器完成请求。

此错误在启动期间或创建响应时发生在应用程序的代码中。响应可能不包含任何内容,或者响应可能在浏览器中显示为 500 Internal Server Error。应用程序事件日志通常表明应用程序正常启动。从服务器的角度来看,这是正确的。该应用程序确实启动了,但它无法生成有效响应。在服务器上的命令提示符处运行应用程序或启用 ASP.NET Core 模块标准输出日志以解决问题。

所以你需要弄清楚你的应用出了什么问题。

Troubleshoot on IIS 部分下有更多故障排除步骤。根据我的经验,最有用的故障排除步骤是 web.config 中的enabling the stdout log

<aspNetCore processPath="bin\myapp.exe" stdoutLogEnabled="true" stdoutLogFile=".\stdout" />

这应该会在该文件中向您显示一条错误消息,您可以搜索该错误。

【讨论】:

  • 我的应用程序运行良好,没有在本地机器上的 iis 上发布,所有响应都运行良好。
  • 但是在iis上发布后显示“Localhost当前无法处理请求”。我现在在问题中添加了屏幕截图。请检查以查看响应。
  • 对。我明白那个。完成我提到的故障排除步骤将帮助您找出问题所在。
【解决方案2】:

1- 启用 app.UseDeveloperExceptionPage();在 startup.cs 文件中。 现在 execption 将显示在浏览器中,而不是“Localhost 当前无法处理请求”

在连接字符串中添加用户名和密码后,连接字符串的问题已解决。 感谢您的帮助和指导。

【讨论】:

  • 谢谢,添加app.UseDeveloperExceptionPage(); 有助于找到错误
【解决方案3】:

确保这部分在启动文件中的配置方法中位于顶部

if (env.IsDevelopment())
   {
     app.UseDeveloperExceptionPage();
     app.UseSwagger();
     app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "learning_todo_jwt v1"));
   }

【讨论】:

    猜你喜欢
    • 2017-12-19
    • 2019-05-03
    • 2017-03-06
    • 2022-06-18
    • 2017-10-21
    • 2018-12-05
    • 2020-05-01
    • 2018-01-04
    相关资源
    最近更新 更多