1.更改web.config 文件 追加节点 <httpRuntime requestValidationMode="2.0" /><pages validateRequest="false">
2.接口上追加 [ValidateInput(false)]属性3.创建XmlResult
<system.web>
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false">
</system.web>
public class XmlResult : ActionResult
{
// 可被序列化的内容
private object _Data { get; set; }
// 构造器
public XmlResult(object data)
{
_Data = data;
}
// 主要是重写这个方法
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
HttpResponseBase response = context.HttpContext.Response;
// 设置 HTTP Header 的 ContentType
response.ContentType = "text/xml";
if (_Data!= null)
{
// 序列化 Data 并写入 Response
XmlSerializer serializer = new XmlSerializer(_Data.GetType());
MemoryStream ms = new MemoryStream();
serializer.Serialize(ms, _Data);
response.Write(System.Text.Encoding.UTF8.GetString(ms.ToArray()));
}
}
}
[ValidateInput(false)]
public XmlResult TitanOrderPush(string xml)
{
return new XmlResult(xml);
}