我使用以下配置更改使ASP.NET Web API在其默认DataContractSerializer
上使用XmlSerializer。
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true
GlobalConfiguration.Configuration.Formatters.XmlFormatter.Indent = true
Web API的JSON响应在下面给出的值下工作正常,但在请求XML时失败。
我尝试了什么:使用
将SupportedEncodings添加到XMLSerializerGlobalConfiguration.Configuration.Formatters.XmlFormatter
.SupportedEncodings.Clear();
GlobalConfiguration.Configuration.Formatters.XmlFormatter
.SupportedEncodings.Add(new UnicodeEncoding());
我尝试通过添加ExceptionFilterAttribute
public class ErrorHandlingFilter : ExceptionFilterAttribute
{
public override void OnException(
HttpActionExecutedContext actionExecutedContext)
{
....handle exception
}
}
并将过滤器注册为
config.Filters.Add(new ErrorHandlingFilter());
当ApiController的操作抛出显式异常时,调用过滤器'OnException
方法,而不是在我得到序列化异常时?
我有两个问题