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

Rob*_*ert 13 .net elmah exception-handling web-config asp.net-mvc-3

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

<location path="elmah.axd">
    <system.web>
        <authorization>
            <allow roles="admin" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

ReSharper或Visual Studio都给我错误:

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

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

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

我错过了这个拼图吗?

Cha*_*ino 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 -->
Run Code Online (Sandbox Code Playgroud)

但它看起来很难看;-)