微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在ASP.NET Web服务中接收XML?

如何解决如何在ASP.NET Web服务中接收XML?

| 我有一个希望将XML发布到的准RESTful ASP.NET Web服务。我的方法如下所示:
[WebMethod(false,System.EnterpriseServices.Transactionoption.NotSupported)]
public void save(string saveXml)
{
    XDocument saveXml = XDocument.Parse(saveXml);
    ....
当我尝试发布到该Web服务时,出现异常:
System.Web.HttpRequestValidationException: A potentially dangerous Request.Form
value was detected from the client...
根据一些搜索,我的理解是,对ASP.NET页的所有请求都查找像\“ <\”这样的字符,这些字符被认为很危险(显然,这适用于我的XML)。可以针对单个页面轻松关闭功能,但不能针对Web服务关闭功能。我发现的唯一解决方案涉及将web.config中的请求验证模式更改为\“ 2.0 \”。我不想更改某个版本的旧版本,只是因为我的一种Web服务方法不适用于4.0版本。有什么方法可以针对我的特定方法禁用此功能吗?提前致谢。     

解决方法

新的4.0 RequestValidation模型有点挑剔,但是只要您的客户端将HTTP请求
Content-type
标头发送为
text/xml
而不是
application/x-www-form-urlencoded
,它就应该传递(或绕过)ASP.NET RequestValidation。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。