我们在Visual Studio 2015中构建了一个ASP.NET MVC 4应用程序。该应用程序使用Elmah.MVC进行异常处理。我们是三位开发人员;对于我们两个人来说,它在localhost上正常工作,但是一个开发人员正在收到此错误(由Elmah捕获):
路径控制器' /favicon.ico'未找到或未实现IController。
This post提供了一个解决方案,我已修改路由以包含它,并且相关开发人员已同步他的代码:
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-Mixed Auth问题已修复。现在,它与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>
当我们发表评论时,一位开发人员可以访问该网站。这些模块做什么?他们为什么会引起问题?
答案 0 :(得分:3)
终于解决了这个问题。我们必须进行两项修改:
我们正在使用OWIN-MixedAuth,部分问题出在IIS Express设置上(在&#34;开发服务器&#34;部分下):
问题的另一部分:IIS Express使用的损坏的applicationhost.config文件:
.vs
文件夹。答案 1 :(得分:1)
将此添加到您的global.asax文件中。
routes.IgnoreRoute("favicon.ico");