如何禁用 WCF 服务的 ASP.NET 请求验证?

eul*_*rfx 2 asp.net wcf

我有一个 .NET 4 WCF 服务作为 IIS 网站以 ASP.NET 兼容模式运行。一旦服务方法接受字符串参数,并且当存在包含“&”的值时,ASP.NET 管道将引发验证异常。我已指定以下配置设置:

<system.web>
  <httpRuntime requestValidationMode="2.0"/>
  <pages validateRequest="false"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

并且错误仍然存​​在。无论输入是否经过编码,都会发生错误。我在这里找到了一个潜在的解决方案,建议提供 System.Web.Util.RequestValidator 的自定义实现,但是我想知道是否有其他方法可以仅通过配置设置来完成。

编辑: 我也发现了这个,但是建议的解决方案并不能解决问题。

eul*_*rfx 5

我找到了解决方案。我设置了以下配置设置:

<system.web>
    <httpRuntime requestPathInvalidCharacters=""/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

默认情况下,& 符号是无效的路径字符。