Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果global.asax应用程序_Start()中发生错误,则将Json返回给用户_C#_Json_Asp.net Mvc - Fatal编程技术网

C# 如果global.asax应用程序_Start()中发生错误,则将Json返回给用户

C# 如果global.asax应用程序_Start()中发生错误,则将Json返回给用户,c#,json,asp.net-mvc,C#,Json,Asp.net Mvc,我需要使用json格式向用户显示我的服务器上发生了什么样的错误。在动作过滤器的帮助下,我已经成功地做到了这一点 但如果异常发生在用户(我指的是web客户端)请求之外(例如在应用程序启动()方法中),则发出任何请求的用户将获得一个显示错误信息的html页面 服务器尝试启动每个请求(Application\u start称为每个请求),但请求本身未得到正确处理,并显示错误页面 应用程序启动中的异常被应用程序错误方法捕获。但我不知道如何正确处理它 在这种情况下,Request对象为空,因为当应用程序调

我需要使用json格式向用户显示我的服务器上发生了什么样的错误。在动作过滤器的帮助下,我已经成功地做到了这一点

但如果异常发生在用户(我指的是web客户端)请求之外(例如在
应用程序启动()
方法中),则发出任何请求的用户将获得一个显示错误信息的html页面


服务器尝试启动每个请求(
Application\u start
称为每个请求),但请求本身未得到正确处理,并显示错误页面


应用程序启动
中的
异常
应用程序错误
方法捕获。但我不知道如何正确处理它

在这种情况下,
Request
对象为空,因为当应用程序调用方法
application\u Start()
时,没有任何
请求


当MVC应用程序在
application\u Start
方法中出现异常时,是否有任何方法向用户发送有关错误的信息


谢谢

我在web.config中设置了一个默认重定向

<customErrors mode="On" defaultRedirect="/errors/500.json"></customErrors>


并创建了包含静态内容的500.json文件。

teo van kot,感谢您编辑
Application\u Start
并不是每个请求都调用。此外,如果您在
Global.asax中遇到异常,这很可能是一个致命错误,用户不应该知道或关心,在这种情况下,将其格式化为JSON应该是您最不关心的问题。是的,当其中没有异常时。在我的例子中,
Application\u Start
中发生异常(不管发生什么)。我的应用程序因此无法启动。当用户发出下一个请求时,IIS(我想是这样)会尝试启动我的应用程序,这就是为什么会再次调用
application\u Start
方法。“将其格式化为JSON应该是您最不关心的问题。”您可能是对的1。我想您必须解决这个问题,并确保您的应用程序引导没有错误。2.如果出现错误,您可以在
Application\u error
中编写一些代码,将用户重定向到另一个(最好是静态)页面,如
error.html