Dot-Net
為什麼我的 web 項目找不到我的 elmah.axd 文件
在我的 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 日誌。
我錯過了這個難題的一部分嗎?
沒有錯……只是 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 -->但它看起來很醜;-)