Usuário com melhor resposta
Custom Error MVC

Pergunta
-
Galera bom dia,
Estou implementando algumas páginas de erro na minha aplicação.
Estou utilizando o ELMAH para gerar o log e atribui minhas páginas de erro no atributo customErros do web.config.
Estava tudo funcionando tranquilamente, ate que me veio a ideia de adicionar uma Area para os erros, agora não funciona mais, as páginas não são encontradas.
<customErrors mode="On" defaultRedirect="~/Areas/AreaErro/ErrorPages/ErrorPage"> <error statusCode="404" redirect="~/Areas/AreaErro/ErrorPages/PageNotFound" /> <error statusCode="500" redirect="~/Areas/AreaErro/ErrorPages/ServerError" /> </customErrors>
O que estou fazendo errado?
Lembrando que o web.config é o principal do meu projeto.
E as páginas testadas foram a not found e a Error Page.
Abraço.
Respostas
-
Bom minha sugestão é você criar uma controller de erros sem ser com áreas e testar o web.config, já nas áreas cria uma view e revisa as urls e tenta acessar via browser, pois já não sei o que pode ser, estou usando areas e está funcionando normal, minha sugestão é remover essa AreaErro e criar uma nova apenas com o nome "Erros" para ficar menos confuso, fazer as configurações conforme eu disse anteriormente.
- Marcado como Resposta Fernando Mamprin terça-feira, 27 de maio de 2014 18:34
-
Não falei que era algo errado.
O name space da controller estava errado :/.
Problema resolvido.
- Marcado como Resposta Fernando Mamprin terça-feira, 27 de maio de 2014 18:33
Todas as Respostas
-
Remova os "Areas" do link no web.config
<customErrors mode="On" defaultRedirect="~/AreaErro/ErrorPages/ErrorPage"> <error statusCode="404" redirect="~/AreaErro/ErrorPages/PageNotFound" /> <error statusCode="500" redirect="~/AreaErro/ErrorPages/ServerError" /> </customErrors>
-
Remova os "Areas" do link no web.config
<customErrors mode="On" defaultRedirect="~/AreaErro/ErrorPages/ErrorPage"> <error statusCode="404" redirect="~/AreaErro/ErrorPages/PageNotFound" /> <error statusCode="500" redirect="~/AreaErro/ErrorPages/ServerError" /> </customErrors>
Valeu Cesar, mas não resolveu.
-
Dentro do seu global.asax tem essa linha AreaRegistration.RegisterAllAreas();?
No meu exemplo
public class AdministracaoAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Administracao";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Administracao_default",
"Administracao/{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "Site.Areas.Administracao.Controllers" }
);
}
-
Sim:
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); . . . } public class AreaErroAreaRegistration : AreaRegistration { public override string AreaName { get { return "AreaErro"; } } public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "AreaErro_default", "AreaErro/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } ); } }
Do jeito que foi criada está.- Editado Fernando Mamprin terça-feira, 27 de maio de 2014 14:21 Complemento
-
-
Sem sucesso cara.
Eu so posso estar fazendo algo errado :/.
context.MapRoute( "AreaErro_default", "AreaErro/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional }, namespaces: new string[] { "Site.Areas.ArreaErro.Controllers" } );
- Editado Fernando Mamprin terça-feira, 27 de maio de 2014 14:32
-
-
-
-
-
Bom minha sugestão é você criar uma controller de erros sem ser com áreas e testar o web.config, já nas áreas cria uma view e revisa as urls e tenta acessar via browser, pois já não sei o que pode ser, estou usando areas e está funcionando normal, minha sugestão é remover essa AreaErro e criar uma nova apenas com o nome "Erros" para ficar menos confuso, fazer as configurações conforme eu disse anteriormente.
- Marcado como Resposta Fernando Mamprin terça-feira, 27 de maio de 2014 18:34
-
-
Não falei que era algo errado.
O name space da controller estava errado :/.
Problema resolvido.
- Marcado como Resposta Fernando Mamprin terça-feira, 27 de maio de 2014 18:33