无法将“%26”传递给WCF服务中的WebGet UriTemplate变量?

时间:2010-06-23 15:07:57

标签: wcf iis ampersand webget uritemplate

我有一个带有此声明操作的WCF服务:

[WebGet(UriTemplate = "Test/{*testString}")]
public String Test(String testString)
{
    return testString;
}

但是,在尝试调用URL Test/You%26Me时,IIS会返回错误:

A potentially dangerous Request.Path value was detected from the client (&).

我的目标是通过URL-Encoding:%26

在URI中允许&符号

通配符没有帮助。有没有办法在不禁用安全功能的情况下阻止此错误?

1 个答案:

答案 0 :(得分:4)

尝试在Web.config中使用RequestPathInvalidCharacters配置属性,避免使用如下字符:

<system.web>
   <httpRuntime requestPathInvalidCharacters="<,>,*,:,\\" />
</system.web>