я создал конечную точку OData (используя рамки сущности, службы данных WCF)OData и пользовательских WCF методы WebGet
и добавил пользовательский тестовый метод испытания WebGet как так:
[WebGet(UriTemplate = "{text}")]
public IQueryable<string> SplitString(string text)
{
if (text == null) throw new DataServiceException("text not specified");
var result = (from s in text.Split('-') orderby s select s);
return result.AsQueryable();
}
и конфигурации line:
config.SetServiceOperationAccessRule("SplitString", ServiceOperationRights.All);
Однако, независимо от того, как я указываю URL-адрес, я не могу получить текстовый параметр для заполнения. (он всегда равен нулю).
так:
http://localhost/myservice.svc/SplitString/testtext
не работает (Он бросает мой Exception, так как парам равно нулю). Каков правильный формат URL (или UriTemplate), который нужно использовать, чтобы заставить параметр работать?
Единственные примеры, которые я нашел в odata и WebGet, имеют только примерный метод, который не имеет параметров.
Нет ли способ заставить это работать с DataService ? –
eth0
Что вы имеете в виду, не делая эту работу с DataService? Не могли бы вы охарактеризовать ваш вопрос более подробно (и желательно как отдельный вопрос)? –