不,Azure 云服务中没有内置日志。您可以实现自己的,但这涉及一些实现。在我的解决方案中,我创建了一个自定义错误页面。我的网络配置如下所示:
<customErrors mode="On" defaultRedirect="~/error/Error">
...
</customErrors>
我的视图/共享目录中有一个名为“Error.cshtml”的视图。使用上面的配置,只要我的应用程序出现错误,就会显示它。
@model System.Web.Mvc.HandleErrorInfo
@{
ViewBag.Title = "Error";
}
<h2> Sorry, an error occurred while processing your request!!?!</h2>
<div>
Try again. If the problem persists...
Close all your browser windows and re-login to the application. If the problem still persists...
Contact the service desk with the details of this error.
</div>
<h3>Error Details</h3>
<div>
<strong>
@Model.Exception.Message
</strong>
<pre>@Model.Exception.StackTrace</pre>
</div>
</div>
</div>
此外,为了使上述工作正常,您需要将其添加到 Global.ascx.cs。它定义了出现错误时应用程序的默认行为。像这样:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
这是一篇博客文章,其中详细讨论了它。
那篇文章和这个答案也记录了错误。如果你想走那条应该让你开始的路线:
在 ASP.NET MVC 控制器结果中设置 HTTP 状态不会呈现视图