asp.net – 我可以在ASMX JSON服务上设置HTTP响应代码并引发异常
发布时间:2020-12-16 04:28:43 所属栏目:asp.Net 来源:网络整理
导读:在响应 JSON的ASP.NET ASMX WebMethod中,我是否可以抛出异常设置HTTP响应代码?我想如果我抛出一个HttpException,状态代码将被适当地设置,但它不能使服务响应除500错误之外的任何东西. 我尝试过以下方法: [WebMethod][ScriptMethod(UseHttpGet = true,Respo
在响应
JSON的ASP.NET ASMX WebMethod中,我是否可以抛出异常&设置HTTP响应代码?我想如果我抛出一个HttpException,状态代码将被适当地设置,但它不能使服务响应除500错误之外的任何东西.
我尝试过以下方法: [WebMethod] [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)] public void TestWebMethod() { throw new HttpException((int)HttpStatusCode.BadRequest,"Error Message"); } 也: [WebMethod] [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)] public void TestWebMethod() { try { throw new HttpException((int)HttpStatusCode.BadRequest,"Error Message"); } catch ( HttpException ex ) { Context.Response.StatusCode = ex.GetHttpCode(); throw ex; } } 这些都回应500. 非常感谢. 解决方法
将您的代码更改为:
[WebMethod] [ScriptMethod(UseHttpGet = true,"Error Message"); } catch ( HttpException ex ) { Context.Response.StatusCode = ex.GetHttpCode(); // See Markus comment // Context.Response.StatusDescription("Error Message"); // Context.Response.StatusDescription(ex.Message); // exception message // Context.Response.StatusDescription(ex.ToString()); // full exception } } 基本上你不能,也就是说,抛出异常时结果总是相同的500. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – 将GUID转换为整数和后退
- 在asp.net ajax工具包中组合脚本
- 什么是ASP.NET WebForms相当于ASP.NET MVC的ViewData
- ASP.NET / VB.NET:Dropdownlist SelectedIndexChanged没有
- asp.net-mvc – ASP.NET MVC路由上的拖尾斜杠
- ASP.NET FormsAuthentication cookie值的内容是什么?
- 如何在asp.net中更改javascript警告框的标题?
- ASP.NET Core 依赖注入基本用法
- asp.net-mvc – 我必须做什么才能从MVC控制器重定向到Web窗
- ASP.NET应用程序池回收问题