В моем веб-сервисе я должен получить HTTP-запрос через URI вида / a? B :
[OperationContract]
[WebInvoke(UriTemplate = "http://hostname/.../a?b")]
Stream MethodName(Stream stream);
без типичного ? B = c .
Это прекрасно работает на моем компьютере разработчика, работающем под управлением Windows Vista и .NET 3.5 SP1 (и с добавлением URLACL). Однако при попытке разместить эту операцию на компьютере с Windows Server 2003 (.NET 3.5 без SP) я получаю исключение InvalidOperationException, сообщающее, что шаблон URI недопустим, и что каждая часть строки запроса должна иметь форму ' имя = значение». Если это абсолютно необходимо, клиентскую программу можно изменить, чтобы она соответствовала более совместимому URI, но есть ли какие-либо средства или обходные пути для этого?