我的asp.net MVC应用程序有一个非常奇怪的情况。
在我的一个控制器中,如果出现错误,请求中的代码通常会返回对象的JSON:
revalidate()
同样在我的网络配置文件中,我有以下IIS错误规则(注意:没有500错误的规则!):
List<string> errors = new List<string>();
string error = "I want to show this error";
errors.Add(error);
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return JsonConvert.SerializeObject(errors, Formatting.Indented);
当我在web.config文件中出现问题时,只要出现问题,我只会收到默认的错误 - 500页作为回复:
<httpErrors errorMode="Custom" existingResponse="Replace" defaultResponseMode="ExecuteURL">
<remove statusCode="404" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error/404" />
<remove statusCode="403" />
<error statusCode="403" responseMode="ExecuteURL" path="/Error/404" />
</httpErrors>
如果在我的本地计算机上我在web.config中注释掉错误规则,那么我开始收到我想要的消息,而不是500错误页面的HTML。但是,无论我在服务器上发布什么,我总是会返回500错误页面html。
有没有人知道这方面的简单方法还是有其他方法将特定错误发送回视图?