【发布时间】:2011-08-06 14:58:25
【问题描述】:
我有一个准 RESTful ASP.NET Web 服务,我希望能够将 XML 发布到该服务。我的方法看起来像这样:
[WebMethod(false, System.EnterpriseServices.TransactionOption.NotSupported)]
public void save(string saveXml)
{
XDocument saveXml = XDocument.Parse(saveXml);
....
当我尝试发布到该网络服务时,我得到了异常:
System.Web.HttpRequestValidationException: A potentially dangerous Request.Form
value was detected from the client...
根据一些搜索,我的理解是 所有 对 ASP.NET 页面的请求都会寻找像“
【问题讨论】:
-
您也可以对 XML 字符串进行 base64 编码。编码/解码 base64 很简单,避免了这种配置问题。
-
什么样的客户将发布到此服务?当您收到此异常时,您是如何发布的?
-
另外,这可能暗示是时候停止使用“传统技术”的 ASP.NET Web 服务了。
-
@John Saunders:客户端是一个 Flex 应用程序。我意识到还有其他几个更好的选择,但由于时间限制,我必须使用我们应用程序中已经设置的内容。
-
Web 服务是否位于单独的 IIS 应用程序中?这个例外是为了保护您的网站。如果该服务位于与该站点不同的应用程序中,则您不会收到错误消息。
标签: c# asp.net xml web-services security