406(不可接受)消息从服务返回

时间:2017-12-27 05:03:10

标签: asp.net aspnetboilerplate asp.net-boilerplate

我正在开发ASP.Net样板服务项目。我想发送自定义异常。我实施了

File dir = new File("E:\\test");
        ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/C", "Start","test.bat");
        pb.directory(dir);
        Process p = pb.start();

处理异常,并将注释放在控制器端点上。但它向客户端发送406(Not Acceptable)消息。

2 个答案:

答案 0 :(得分:0)

这并不罕见,您收到错误 406 Not Acceptable ,因为您在Accept-CharsetAccept-Language <中定义的可接受值列表中返回了不期望的错误/ p>

有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/406

我认为您需要添加以下内容:

context.HttpContext.Response.Charset = CharSet.Unicode;

context.HttpContext.Response.ContentType应根据回复类型进行设置,每个请求的通用"multipart/form-data;application/json"可能不正确。

答案 1 :(得分:0)

JSON文本的MIME媒体类型为application/json。所以改变内容类型。

<强>建议

据我说,你应该检查异常投掷者动作的结果类型。如果始终发送json结果,则可能会忽略其他返回类型。 ABP有UserFriendlyException这很整洁!为什么不使用它?