c# - EF7 应用程序出现 ASP.NET 5 IIS 500 错误

标签 c# asp.net asp.net-mvc entity-framework

我在 IIS 8 中托管一个在 ASP.NET 5、MVC 6 和 EF7 中开发的应用程序。我为可通过 http://localhost/api 访问的应用程序创建了 API,并且我创建了几个 Controller 来访问数据。

当我从 visual studio 访问 API 时,一切正常,并且我能够检索回 JSON 数据。但是当我托管应用程序 IIS 8 和浏览器 localhost/api/controller 时,IIS 日志中出现 500 错误。我还在 Windows Server 2012 r2 服务器上安装了 http platform handler 1.2。我实际上能够浏览静态页面和其他链接,如 localhost/home,但是当我尝试访问 api Controller 时,我得到 500 错误代码。

现在,当我使用应用程序中的执行 web.cmd 文件自行托管应用程序并浏览 localhost:5000/api/controller 时,我能够检索 json数据返回,但不是来自 IIS 托管站点。

因为我不知道问题出在哪里,所以我启用了Failed request tracing rules 并且我能够捕获带有 500 错误的日志。下面是截图:

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

最佳答案

没有从你失败的请求日志中得到这个,但我可能会建议通常的怀疑,因为你说它在 IIS 之外工作:

  1. 确认应用程序池设置为与 .NET 5.0 一起使用,并且未设置为不同的 CLR,如 2.0 或 4.0。 (实际上是这样,因为非 API MVC Controller 在那种情况下根本无法工作...)

  2. 如果将 NTLM 安全性与 SQL 结合使用,请确认应用程序池正在使用具有足够数据库权限的帐户运行,因为从 Visual Studio 运行 IIS Express 与从 IIS 运行时,执行上下文可能不同。

我还建议检查 Windows 错误日志,而不仅仅是请求跟踪....

关于c# - EF7 应用程序出现 ASP.NET 5 IIS 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35236600/

相关文章:

c# - .NET 进程间通信的最佳选择是什么?

c# - 如何将mysql的日期时间转换为asp.net的日期时间

asp.net - HttpContext.Current.Items 重用吗?

javascript - JQuery 模态对话框表单回发问题

asp.net - 将 ASP.NET 捆绑设置为不删除第三方版权

c# - 在html标签之间获取数据

c# - Azure应用服务: After receiving 2 transient errors has response spikes for 5-10 min

c# - Console.Write() 将在 WPF 中挂起,但在控制台应用程序中有效

asp.net - MVC 巨大模型性能不佳

asp.net-mvc - 如何从返回部分 View 结果的 Controller 操作重定向到部分 View