Как интегрировать Axd (Elmah) как компонент в сайт ASP.NET MVC
У меня есть Elmah и работает на моем сайте ASP.NET MVC, и я хотел бы интегрировать его интерфейс со страницами администрирования сайта. По умолчанию вы вызываете интерфейс с помощью url ~/elmah.axd, который работает вне системы MVC. При установке требуется, чтобы вы указали MVC игнорировать маршрут, чтобы не было контроллера или чего-либо еще, что бы знало об elmah. При установке предлагается конкретное игнорирование, даже если оно уже игнорируется по умолчанию:
public class MvcApplication : System.Web.HttpApplication {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("elmah.axd");
...
}
Я хотел бы попробовать интегрировать elmah.axd в качестве компонента сайта. Я думаю иметь контроллер Elmah с представлением, которое использует помощник Futures Html.RenderRoute, но я не уверен, какие аргументы передать:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Elmah</h2>
<% Html.RenderRoute(???); %>
</asp:Content>
Имеет ли это смысл - есть ли способ передать URL в Html.RenderRoute? Есть ли лучший способ, который не использует Html.RenderRoute?
2 ответа
Попробуйте это в своем View вместо этого:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Elmah</h2>
<iframe src="<%= Url.Content("~/elmah.axd") %>" frameborder=no width=100% scrolling=auto>
</iframe>
</asp:Content>
Или вы можете использовать это на своем сайте