Tôi có vai trò web ASP.NET MVC chạy trên Windows Azure và đã thiết lập ELMAH đúng cách trong web.config. Tôi cũng có global.asax của tôi bỏ qua * .axd tuyến đường. Tại địa phương, tôi có thể tải /elmah.axd, tuy nhiên khi tôi triển khai Azure, tôi nhận được 404 trên trang đó. Có ai nhận được ELMAH làm việc trên Azure?Làm thế nào để cấu hình ELMAH để làm việc với Windows Azure? Tôi nhận được 404 trên Elmah.axd
Trả lời
Azure dựa trên Windows Server 2008 và IIS7. Điều này có nghĩa là bạn cần điền phần system.webServer của tệp web.config.
Các tập tin mẫu kèm theo mã nguồn ELMAH chứa các chi tiết mà bạn cần để đưa vào.
<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>
Có 2 dòng ELMAH trong khối trên của xml mà bạn sẽ cần phải bao gồm, và phần nói chung nên chứa hầu hết nếu không phải tất cả các yếu tố đó.
EDIT: Không còn cần thiết vì đây là bây giờ theo mặc định:
Đối ELMAH để làm việc bạn cũng sẽ cần phải sửa đổi dòng sau trong file ServiceDefinition.csdef của bạn:
<WebRole name="WebRole" enableNativeCodeExecution="true">
tôi đã nó hoạt động cục bộ trên máy tính Vista của tôi nhưng trên máy chủ trực tiếp, nó không hoạt động cho đến khi tôi thêm 2 dòng Elmah mà bạn đề cập ở dưới cùng của web.config. Mặc dù vậy, tôi không phải đi vào tệp ServiceDefinition. Khi tôi thực hiện những thay đổi đó, tôi đã nhận được lỗi 403, đó là lý do tại sao bạn cần đặt allowRemoteAccess thành 1 – KevinUK
Hơn nữa, tôi sử dụng SDK Azure tháng 10 năm 2012 và thấy rằng tôi chỉ cần (1)
enableNativeCodeExecution được đặt thành true theo anyways mặc định: http://msdn.microsoft.com/en-us/library/windowsazure/gg557553.aspx –
tôi nghĩ rằng bổ sung (những gì được đề xuất bởi @mat1t here), bạn có thể cần phải thiết lập truy cập từ xa đến 1:
<elmah>
<security allowRemoteAccess="0" />
..............
..............
</elmah>
cảm ơn, bước này là hoàn toàn cần thiết –
Đồng thời bảo mật tệp để chỉ người dùng được phép mới có thể xem nhật ký lỗi!
<location path="admin/elmah.axd">
<system.web>
<authorization>
<allow roles="Administrator" />
<deny users="*" />
</authorization>
</system.web>
</location>
Có một tùy chọn web.config
- 1. Làm thế nào để bảo đảm Elmah.axd?
- 2. Làm thế nào để có được Elmah làm việc với ASP.NET và IIS 5.1 URL định tuyến
- 3. Làm cách nào để bảo mật Elmah trên ASP.Net MVC 4 với Windows Integrated Security: Elmah bỏ qua cài đặt của tôi
- 4. Làm thế nào để cấu hình Cassandra làm việc trên nhiều vùng EC2 với Ec2MultiRegionSnitch
- 5. Elmah không làm việc với trang asp.net
- 6. ELMAH lọc không làm việc
- 7. Làm thế nào để cấu hình DbContext để làm việc với Oracle ODP.Net và EF CodeFirst?
- 8. Trợ giúp với Cấu hình Elmah trong ASP.NET
- 9. Làm thế nào để cấu hình một dự án ASP.NET MVC để làm việc với Boo
- 10. Các bước để thiết lập SSL để làm việc với WCF trên Azure là gì?
- 11. Chặn lỗi 404 FavIco trong ELMAh
- 12. ASP.NET MVC - Elmah không hoạt động và trả lại trang 404 cho elmah.axd
- 13. Làm thế nào để bỏ qua một tuyến đường trong cấu hình MVAP4 WebAPI?
- 14. Làm thế nào để cấu hình Python Kivy cho PyCharm trên Windows?
- 15. Làm cách nào để nhận tất cả các cài đặt cấu hình từ tệp Azure Config?
- 16. Làm thế nào để cấu hình và và nhận Javascript
- 17. Cách cấu hình Ninject để làm việc với ServiceStack.net
- 18. Cách định cấu hình ELMAH với SignalR
- 19. Cấu hình NGINX để làm việc với Socket.IO
- 20. Làm thế nào để cấu hình Application Pool với MSDeploy
- 21. Làm thế nào để có được fontawesome để làm việc trên một trang web Azure triển khai?
- 22. Làm thế nào để cấu hình Django trên OpenShift?
- 23. Làm thế nào để cấu hình env dàn trên Heroku?
- 24. Làm thế nào tôi có thể nhận được MongoDB làm việc với php 5.3.5 & wamp?
- 25. Làm thế nào để có được RPATH với $ ORIGIN để làm việc trên Code :: Blocks GCC?
- 26. Làm thế nào để cấu hình gitignore?
- 27. Làm thế nào để tôi nhận được Emacs của tôi * luôn * sử dụng 6x13 trên X11
- 28. Làm thế nào tôi có thể sửa đổi cấu hình StructureMap được cấu hình trước đó?
- 29. Làm cách nào để sửa đổi Vị trí của trang web của tôi trong Windows Azure?
- 30. Làm thế nào để cấu hình Ruby để sử dụng la bàn cho Sench-touch trên Windows
Xem thêm http://stackoverflow.com/questions/2118248/asp-net-mvc-elmah-not-working-and-returning-404-page-for-elmah-axd/5205564 –