问题描述
我想以JSON格式发送对服务的响应。我在自定义行为中发现了自定义错误:
void IErrorHandler.ProvideFault(Exception error,MessageVersion version,ref Message fault)
{
XDocument errorMsg = XDocument.Parse("<errorMessage>" + error.Message + "</errorMessage>");
var jsonWriter = new JsonErrorBodyWriter(errorMsg);
fault = Message.CreateMessage(version,null,jsonWriter);
fault.Properties.Add(WebBodyFormatMessageProperty.Name,new WebBodyFormatMessageProperty(WebContentFormat.Json));
HttpResponseMessageProperty prop = new HttpResponseMessageproperty();
prop.StatusCode = HttpStatusCode.Unauthorized;
prop.Headers.Add("Content-Type","application/json; charset=utf-8");
prop.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8";
--Tried different ways to achieve this
fault.Properties.Add(HttpResponseMessageProperty.Name,prop);
}
但是我得到错误的内容类型响应。而且我也无法编写任何自定义标头,例如:
prop.Headers.Add("Test","Value");
回复:
HTTP/1.1 401 Unauthorized
Content-Type: application/xml; charset=utf-8
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Wed,30 Sep 2020 08:41:15 GMT
Content-Length: 37
{"description":"Autorization Failed"}
我的代码有什么问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)