首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >块404 ELMAh中的FavIco错误

块404 ELMAh中的FavIco错误
EN

Stack Overflow用户
提问于 2009-04-17 21:02:20
回答 6查看 4.3K关注 0票数 8

我注意到ELMAH记录了一个404,而不是在我的本地服务器上找到的favico。如何通过过滤器抑制此错误?我还不太熟悉它的配置..

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-16 18:27:08

官方的elmah Error Filtering page解释了许多方法可以抑制这个404 favicon错误。

您可以像这样在web.config中以声明方式过滤掉所有404个错误。但我不确定有没有办法只用404来换取一个图标。

代码语言:javascript
运行
复制
<errorFilter>
    <test>
        <equal binding="HttpStatusCode" value="404" type="Int32" />
    </test>
</errorFilter>

如果你想通过编程来完成,你可以忽略ErrorLog或ErrorEmail过滤事件中的错误,正如官方文档中所解释的那样。下面的代码有点夸大其词,但它演示了如何为/favicon.ico请求只过滤出404个错误。

代码语言:javascript
运行
复制
void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
    if (((HttpException)e.Exception.GetBaseException()).GetHttpCode() == 404
       && ((HttpContext)e.Context).Request.Path == "/favicon.ico")
    {
        e.Dismiss();
    }
}

我个人更喜欢通过web.config声明地过滤所有404,或者像Joel建议的那样只提供一个收藏图标。

票数 18
EN

Stack Overflow用户

发布于 2009-04-17 21:25:35

它不能帮助你学习如何配置ELMAH,但是防止404FOR请求的最简单的方法是提供一个...

票数 13
EN

Stack Overflow用户

发布于 2012-04-23 03:11:04

通过使用下面的代码,我能够让ELMAH忽略这个错误。您还可以添加您想要忽略的任何其他路径。从技术上讲,这些测试可以是单独的测试,但在未来我想忽略与我的应用程序相关的其他404错误的机会很小,我想我应该把这些错误放在一起,因为它们完全不依赖于我的应用程序,这里只是为了从我的错误日志中删除杂乱。

代码语言:javascript
运行
复制
<errorFilter>
    <test>
        <or>
            <and>
                <equal binding="HttpStatusCode" value="404" type="Int32" />
                <equal binding="Context.Request.Path" value="/favicon.ico" type="string" />
            </and>
            <and>
                <equal binding="HttpStatusCode" value="404" type="Int32" />
                <equal binding="Context.Request.Path" value="/robots.txt" type="string" />
            </and>
        </or>
    </test>
</errorFilter>

当然,如果你担心这会弄乱你的web.config,你总是可以把过滤器分成一个专用的文件。

代码语言:javascript
运行
复制
<elmah>
    <security allowRemoteAccess="1" />
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sqlserver" />
    <errorFilter configSource="elmahFilters.config" />
</elmah>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/762193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档