在我的应用程序的配置中,我删除了customErrors以对难以复制的错误进行测试。尝试catch在Azure服务器中不起作用
而且在错误应该发生,我把一试:
if (ModelState.IsValid)
{
db.TarefaHoras.Add(tarefaHora);
try
{
db.SaveChanges();
}
catch (DbUpdateException ex)
{
ErroDetalhe erro = new ErroDetalhe();
erro.Data = tarefaHora.Data;
erro.UsuarioId = tarefaHora.ApplicationUserId;
erro.JSON = JsonConvert.SerializeObject(tarefaHora);
erro.Tipo = "TarefaHora";
erro.Controller = "TarefaHoras";
erro.Action = "Create Post";
erro.Exception = ex.GetType().FullName;
db.ErroDetalhes.Add(erro);
db.SaveChanges();
return RedirectToAction("ErroNaAtualizacaoDaBase", "Erros", new { id = erro.ID });
}
return RedirectToAction("Index", "Home");
}
return View(tarefaHora);
}
该错误仅发生在运行时,只有Azure的服务器上,所以我的尝试是得到错误的,并为这个更好的说明我创建了一个存放信息的表格。
但是....
的问题是,我得到了查看错误不是视图“ErrorInputUpdate”我创建和在捕捉重定向。
我得到默认的AspNET错误视图。
因此,我进入共享视图并删除了默认页面,并从web.config中删除了customErrors。
即使这时Azure仍会带来默认错误视图。
任何人有任何想法可能会发生什么?
在** Debug **中构建和发布,如果您希望在Visual Studio中具有相同的错误处理体验,则不发布。 – evilSnobu
你是怎么推荐我在Debug中发布的,但是我收到了一个如此普遍的错误[NullReferenceException:对象引用未设置为对象的实例。]没有显示任何其他内容。任何想法? – Neumann
添加一个断点并逐步完成。您可以远程执行 - https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-dotnet-troubleshoot-visual-studio(远程调试部分)。堆栈跟踪应该已经给你足够的上下文来理解WHERE事情正在破裂。 – evilSnobu