Я могу передать не строку в WCF RESTful-сервис, используя классы uritemplate?
могу ли я сделать следующее?
[OperationContract]
[WebGet(UriTemplate = "/foo/{id}")]
string GetFoo(int id);
Я хотел бы, чтобы мой сервис функционировал как RESTful service и RPC-style SOAP service.
Если возможно, я хотел бы сохранить int как int, а не парсинг вручную.
4 ответов:
Если я правильно помню, переменные UriTemplate в пути всегда разрешаются в строки при использовании WebGet или WebInvoke. Вы можете привязать только переменные UriTemplate к int, long и т. д. когда они находятся в части запроса UriTemplate.
как упоминал dthrasher, переместите id в часть запроса URI. Это сработало для меня:
[OperationContract] [WebGet(UriTemplate = "/foo?id={id}")] string GetFoo(int id);см. "схема URI" в Википедии для получения дополнительной информации о различных частях URI: http://en.wikipedia.org/wiki/URI_scheme
Как уже упоминалось, вы должны использовать строки запроса для передачи нестроковых параметров. В следующей статье подробно описывается, как выполняется синтаксический анализ.
расширяемость WCF-QueryStringConverter
возвращаясь к "правильной" Расширяемость WCF, сообщение на этой неделе о QueryStringConverter. Это на самом деле простая тема для обсуждения, так как ее цель довольно специфический (в отличие от других точек расширяемости, замеченных ранее, которые могли бы используется для самых разных случаев) - в WCF в QueryStringConverter используется только на конечных точках, которые имеют WebHttpBehavior применяется к ним. И даже в тех, только на операциях которые имеют параметры, переданные через строки запроса (либо операции с параметрами, отмеченными с помощью операции [WebGet] или [WebInvoke] с помощью UriTemplate, который явно связывает некоторые параметры с запросом строка.) QueryStringConverter-это часть, которая может конвертировать между параметры операции и их представление в строке запроса.
...
по умолчанию QueryStringConverter используется webhttpbehavior поддерживает изначально несколько типов, включая все простые числовые типы
Comments