Я создал конечную точку OData (с использованием инфраструктуры объектов, службы данных WCF)
и добавил пользовательский метод тестирования 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();
}
и строка конфигурации:
config.SetServiceOperationAccessRule("SplitString", ServiceOperationRights.All);
Однако, независимо от того, как я указываю URL, я не могу получить текстовый параметр для заполнения. (это всегда ноль).
так:
http://localhost/myservice.svc/SplitString/testtext
не работает (выдает мое исключение, так как параметр имеет значение null).
Какой правильный формат URL (или UriTemplate) следует использовать, чтобы заставить параметр работать?
Единственные примеры, которые я нашел для odata и WebGet, имеют только метод-пример, который не имеет никаких параметров.