在我的 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/