Pergunta

Eu tenho Elmah instalado e funcionando em meu site ASP.NET MVC e gostaria de integrar sua interface com as páginas de administração do site. Por padrão, você invoca a interface com a url ~ / elmah.axd, que é executado fora do sistema MVC. A instalação requer que você diga MVC para ignorar a rota, então não há nenhum controlador ou qualquer coisa que sabe sobre elmah. A instalação sugerir uma específica ignorar, embora já é ignorada por padrão:

public class MvcApplication : System.Web.HttpApplication {
    public static void RegisterRoutes(RouteCollection routes) {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("elmah.axd");
...
}

Eu gostaria de tentar integrar elmah.axd como um componente do site. Estou pensando que ter um controlador Elmah com uma vista que utiliza os Futures ajudante Html.RenderRoute mas não estou certo do que argumentos para passar:

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

Isso faz sentido - existe uma maneira de passar o url para Html.RenderRoute? Existe uma maneira melhor que não usa Html.RenderRoute?

Foi útil?

Solução

Tente isto em sua exibição em vez disso:

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

Outras dicas

ou você pode usar isso em seu site

Elmah Erro de aplicativo Log

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top