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

标签 .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 都给我错误:

Location element is unused: no project found at elmah.axd path:Path to web project\elmah.axd not found



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

我有两个用户:Admin 和 User 我只希望具有 Admin 角色的用户访问 elmah 日志。

我错过了这个拼图的一部分吗?

最佳答案

没有错……只是 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 -->

但它看起来很丑;-)

关于.net - 为什么我的 web 项目找不到我的 elmah.axd 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232319/

相关文章:

C# 6.0 - 意外字符 '$'

c# - MVC 删除删除不相关的数据

Grails Controller 中的异常处理

php - 只捕获 SimpleXML 异常?

c# - ElasticSearch中的'and' 'Or'查询

.net - Windows 服务在哪个目录中运行?

c# - 如何与SFTP服务器通信

复杂对象MVC3的JSON序列化

jquery - Razor 和 jQuery,附加表格

java - 不能使用 try/catch block 处理 java 未经检查的异常吗?