Не удается передать% 26 в переменную WebGet UriTemplate в службе WCF? - PullRequest
3 голосов
/ 23 июня 2010

У меня есть служба 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 (&).

Моя цель - разрешить использование амперсанда в URI с помощью URL-кодировки:% 26

Подстановочный знак не помог. Есть ли способ предотвратить эту ошибку, не отключая функции безопасности?

1 Ответ

4 голосов
/ 23 июня 2010

Попробуйте использовать RequestPathInvalidCharacters свойство конфигурации в Web.config, избегая использования следующих символов:

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