我们正在Visual Studio 2015中构建一个ASP.NET MVC 4应用程序。该应用程序使用Elmah.MVC进行异常处理。我们是三个开发人员;对于我们两个人来说,它在localhost上运行良好,但是一个开发人员遇到此错误(由Elmah捕获):
找不到路径“ /favicon.ico”的控制器或未实现IController。
这篇文章提供了一个解决方案,并且我已经修改了路由以使其包含在内,并且相关的开发人员已经同步了他的代码:
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
现在,Elmah中什么都没有显示,但是用户继续看到一般错误:
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
可能会发生什么?谢谢。
更新1:从Web.config中剥离Elmah内容,然后让开发人员加载该应用程序。类似于this,它进入尝试验证用户身份的无限循环。
我们正在使用OWIN-MixedAuth,而该问题在IIS Express设置上的可能性更大。我将让开发人员明天尝试并确认:
顾名思义,它是混合身份验证,因此必须启用两种身份验证。
更新2: OWIN混合身份验证问题已得到修复。现在,它与Elmah使用的Web.config中的这三个HTTP模块有关:
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
当我们将其注释掉时,一名开发人员可以进入该网站。这些模块做什么?为什么会引起问题?
终于解决了问题。我们必须进行两项更改:
我们正在使用OWIN-MixedAuth,部分问题在于IIS Express设置(在“开发服务器”部分下):
问题的另一部分:IIS Express使用的损坏的applicationhost.config文件:
.vs
文件夹。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句