ASP.NET MVC3中的HTML反而不是JSON的IIS响应
发布时间:2020-12-30 15:48:11  所属栏目:asp.Net  来源:互联网 
            导读:主题是自我介绍的.我有开发人员和生产环境.开发人员环境是我的本地机器.我有一些行为方法,在某些事情出错(或发生错误或逻辑不一致))时,将响应状态代码设置为500,并返回Json-answer.我的常见方法如下: [HttpPost]public ActionResult DoSomething(int id){ tr
                
                
                
            | 
                         主题是自我介绍的.我有开发人员和生产环境.开发人员环境是我的本地机器.我有一些行为方法,在某些事情出错(或发生错误或逻辑不一致))时,将响应状态代码设置为500,并返回Json-answer.我的常见方法如下: [HttpPost]
public ActionResult DoSomething(int id)
{
    try
    {
         // some useful code
    }
    catch(Exception ex)
    {
         Response.StatusCode = 500;
         Json(new { message = "error" },JsonBehaviour.AllowGet)
    }
} 
 在客户端生产环境当发生这样的错误时,ajax.response看起来像HTML代码,而不是预期的JSON. 考虑这个: <div class="content-container"> <fieldset> <h2>500 - Internal server error.</h2> <h3>There is a problem with the resource you are looking for,and it cannot be displayed.</h3> </fieldset> </div> 过滤器上下文不是一个选项.我认为这是某种IIS或web.config问题. 解: 解决方法我想IIS正在服务一些友好的错误页面.您可以尝试通过在响应上设置TrySkipIisCustomErrors属性来跳过此页面:catch(Exception ex)
{
     Response.StatusCode = 500;
     Response.TrySkipIisCustomErrors = true;
     return Json(new { message = "error" },JsonBehaviour.AllowGet)
}                        (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
推荐文章
            站长推荐
            - asp.net – 当我试图强制401时,自定义授权过滤器
 - ASP.NET /数据库性能清单
 - Asp.Net Cache缓存使用代码
 - Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,
 - 实体框架 – 实体框架核心更新许多对许多
 - asp.net – Windows应用程序与Web应用程序开发
 - 来自ASP.NET MVC站点的“无效的JSON原语:alihac
 - asp.net-mvc – ASP.NET MVC 4 Visual Studio 20
 - asp.net-mvc – ASP.NET MVC中的WebApi [FromUri
 - asp.net-mvc – 在MVC ActionLink中使用Knockout
 
热点阅读
            