为什么我的web项目找不到我的elmah.axd文件

时间:2013-03-05 19:20:46

标签: .net asp.net-mvc-3 exception-handling web-config elmah

在我的web.config文件中,我拥有elmah所需的所有引用,以便让elmah运行。除了这部分代码:

<location path="elmah.axd">
    <system.web>
        <authorization>
            <allow roles="admin" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>

ReSharper或Visual Studio都给我错误:

  

位置元素未使用:在elmah.axd路径中找不到项目:未找到Web项目\ elmah.axd的路径

我从NuGet安装了elmah包,我保存了dll,当我转到我的站点的根目录并输入root / elmah.axd时,我可以访问elmah日志;但是,我需要限制这些日志对管理员的访问。

我有两个用户:管理员和用户我只希望那些具有管理员角色的用户访问elmah日志。

我错过了这个难题的一块吗?

1 个答案:

答案 0 :(得分:19)

没有错......这只是reSharper有点傻。因为它找不到具有该名称的物理文件,所以它认为它不存在并且会给出您看到的错误。

您可以使用ReSharper禁用注释来忽略它,如下所示:

<!-- ReSharper disable WebConfig.RedundantLocationTag -->
<!-- ReSharper disable WebConfig.WebConfigPathWarning -->
<location path="elmah.axd">
<!-- ReSharper restore WebConfig.WebConfigPathWarning -->
  <system.web>
    <authorization>
      <allow roles="admin" />
      <deny users="*" />
    </authorization>
  </system.web>
</location>
<!-- ReSharper restore WebConfig.RedundantLocationTag -->

但它看起来很丑陋; - )