Как интегрировать axd (Elmah) в качестве компонента в ASP.NET Сайт MVC

StackOverflow https://stackoverflow.com/questions/1086536

Вопрос

У меня запущен 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 helper Html.RenderRoute, но я не уверен, какие аргументы передавать:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Elmah</h2>
    <% Html.RenderRoute(???); %>
</asp:Content>

Имеет ли это смысл - есть ли способ передать URL в Html.RenderRoute?Есть ли лучший способ, который не использует Html.RenderRoute?

Это было полезно?

Решение

Попробуйте это вместо вашего Представления:

<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>

Другие советы

или вы можете использовать это на своем сайте

Приложение журнала ошибок Elmah

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top