我有一個在Windows Azure上運行的ASP.NET MVC web角色,並且已經在web.config中正確設置了ELMAH。我也有我的global.asax忽略* .axd路線。在本地,我能夠加載/elmah.axd,但是當我部署到Azure時,我在該頁面上獲得了404。有沒有人獲得ELMAH在Azure上的工作?如何配置ELMAH以使用Windows Azure?我在Elmah.axd上獲得了一個404
回答
Azure基於Windows Server 2008和IIS7。這意味着您需要填充web.config文件的system.webServer部分。
包含ELMAH的源代碼示例文件中包含了你需要把細節。
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule" />
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory" />
<remove name="ScriptHandlerFactoryAppServices" />
<remove name="ScriptResource" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode"
type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</handlers>
</system.webServer>
有在XML的上述塊,你將需要包括2條ELMAH線,以及部分通常應該包含大部分(如果不是全部)這些元素。
編輯:不再需要,因爲這是現在是默認設置:
對於ELMAH工作,你還需要修改下面一行在你ServiceDefinition.csdef中的文件:
<WebRole name="WebRole" enableNativeCodeExecution="true">
我它在我的Vista PC上本地工作,但在實時服務器上它不工作,直到我在web.config的底部添加了2個Elmah行。 雖然我不必進入ServiceDefinition文件。一旦我做出這些更改,我得到了403錯誤,這就是爲什麼你需要設置allowRemoteAccess爲1 – KevinUK 2009-07-06 20:22:13
此外,我使用2012年10月的Azure SDK,並發現我只需要(1)
默認情況下,enableNativeCodeExecution默認設置爲true:http://msdn.microsoft.com/en-us/library/windowsazure/gg557553.aspx – 2013-12-16 22:29:44
我想另外(根據@mat1t here的建議)你可能需要設置遠程訪問1:
<elmah>
<security allowRemoteAccess="0" />
..............
..............
</elmah>
還保護文件,只允許用戶查看錯誤日誌!
<location path="admin/elmah.axd">
<system.web>
<authorization>
<allow roles="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>
- 1. 在Machine.config中配置ELMAH - elmah.axd上的404
- 2. asp.net mvc 3和elmah.axd - 又一個404
- 3. Elmah.axd - 在IIS Express和IIS上獲取錯誤404
- 4. Elmah - Web配置配置
- 5. 如何獲得404與Elmah以及爲asp.net mvc中的Elmah編寫的HandleErrorAttribute?
- 6. 如何防止在使用akamai時elmah url /elmah.axd不被緩存
- 7. 在Windows Azure上配置SSL
- 8. ASP.NET MVC - Elmah不工作,並返回404頁面elmah.axd
- 9. 如何使用SignalR配置ELMAH
- 10. 配置ELMAH以通過
- 11. 如何以編程方式配置ELMAH?
- 12. 在IIS 8.0上找不到elmah.axd
- 13. 我如何獲得在Windows 7上
- 14. 如何配置Elmah以發送推文錯誤消息?
- 15. 當我瀏覽HTTP://本地主機:8004/elmah.axd,它會產生404錯誤
- 16. Azure:配置BlobEndpoint和CloudBlobClient以獲得最大上傳吞吐量
- 17. 配置ninject以使用azure
- 18. 在配置中禁用ELMAH
- 19. 在Windows Azure上配置會話
- 20. 我如何獲得在Windows
- 21. 使用Elmah和ServiceStack.Mvc
- 22. 我可以在應用程序間共享ELMAH配置嗎?
- 23. 在Windows Azure中配置SSL
- 24. 獲得一個404 htaccess的
- 25. 我如何在Azure中使用RoleEnvironmentChanging更改配置設置
- 26. 如何在Windows Azure上的代碼中獲得證書
- 27. 如何在windows azure網站上獲得System.Speech?
- 28. 雲無法訪問Azure應用程序上的elmah.axd
- 29. 如何獲得MVC3地區例外是在使用ELMAH
- 30. 試圖實現Azure Active Directory B2C給了我一個404錯誤
參見http://stackoverflow.com/questions/2118248/asp-net-mvc-elmah-not-working-and-returning-404-page-for-elmah-axd/5205564 – 2014-04-03 10:40:18