当前位置: 首页 > 知识库问答 >
问题:

Azure"500-请求超时"自定义错误页

璩无尘
2023-03-14

我们已经部署了一个ASP。NET MVC应用于Azure应用程序服务。

如果请求耗时超过230秒,Azure将返回错误页面“500-请求超时。web服务器未能在指定时间内响应。”-https://stackoverflow.com/a/38676086

我们正在进行更改,以确保对网络请求进行更少的处理,但是仍然有可能达到这些限制。有人知道是否有一种方法可以配置自定义错误页面来显示,而不是下面显示的通用错误页面吗?

共有2个答案

欧阳子石
2023-03-14

这篇文章应该会帮助你,记住,只有当请求到达网站时,自定义错误才有效。http://benfoster.io/blog/aspnet-mvc-custom-error-pages

姜宏盛
2023-03-14

我们正在进行更改,以确保对网络请求进行更少的处理,但是仍然有可能达到这些限制。有人知道是否有一种方法可以配置自定义错误页面来显示,而不是下面显示的通用错误页面吗?

由于您无法克服Azure应用程序服务中关于请求超时(230秒)的限制,因此您需要优化服务器端处理,或者需要捕获异常并自定义响应。我尝试使用应用程序错误事件和自定义HTTP模块捕获异常,但最终失败。

对于解决方法,您可以指定操作的超时,并在Azure App Service引发超时异常之前捕获应用程序中的异常,然后添加自定义错误页面。您可以利用AsyncTimeoutAttribute并按如下方式定义操作:

[AsyncTimeout(duration:10000)] //The timeout value in milliseconds.
[HandleError(ExceptionType = typeof(TimeoutException),
                            View = "TimeoutError")]
public async Task<ActionResult> LongTask(CancellationToken cancellationToken)
{
    await Task.Delay(TimeSpan.FromSeconds(20), cancellationToken);
    return Content("Done");
}

注意:HandleErrorAtoun需要在您的Web中启用定制错误。配置。如果发生了TimeoutExc0019,那么您将被重定向到您定义的特定MVC视图。

 类似资料:
  • 本文向大家介绍Laravel5.1自定义500错误页面示例,包括了Laravel5.1自定义500错误页面示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel5.1自定义500错误页面的方法。分享给大家供大家参考,具体如下: Laravel 5.1中500错误是程序错误,程序错误一定是系统自带的500错误,可以通过以下步骤简单实现自定义500错误页面。 编辑PHP文件app/

  • 问题内容: 我不时使用量角器1.7中引入的“预期条件”功能。 用例 : 页面对象在哪里。 如果在10秒钟内不可见,将引发错误: 这不是很可读,需要一些时间来理解和一些研究。 题: 是否可以自定义这种等待超时错误? 问题答案: 我相信有3个参数:条件,可选的超时和可选的描述消息。(我很确定这是文档:http : //angular.github.io/protractor/#/api? view=

  • 我们有Tomcat 9 Web服务器在生产中。我们面临的问题是,如果Tomcat收到任何格式错误的URL,我们希望显示我们应用程序的自定义错误页面,如下所示 http://URL/| 或 http://URL/[ 我在Tomcat应用服务器的web.xml中添加了错误页面标签,如下所示 我们在tomcat的webapps目录下的应用程序根文件夹中有error.html。 每当用户试图请求任何不存在

  • 问题内容: 完全按照此处找到的教程进行操作,我无法创建自定义500或404错误页面。如果我确实输入了错误的网址,则该页面会显示默认的错误页面。有什么我应该检查的内容,以防止显示自定义页面? 文件目录: 在mysite / settings.py中,我启用了以下功能: 在mysite / polls / urls.py中: 我可以发布任何其他必要的代码,但是如果我使用了错误的网址,应该如何更改以获得

  • 当我调用restendpoint(rest模板http客户端)“myservice..com/rest/api/”时,有时会出现以下错误。此错误的原因是什么?这是客户端还是服务器错误?

  • 故事是,我创建了一个自定义 API 路由 ,用于提取任何帖子类型的帖子。在本地,它可以完美地工作(MAMP),但在多个生产服务器(不同的环境)上,它会返回500错误。 适用于本地的API路由: http://wordpress.local/wp-json/wp-post-modal/v1/any-post-type?slug=modal-页 生产中的API路由示例(表明API路由确实存在): <