4

我创建了一个 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);

但是,无论我如何指定网址,我都无法填写要填写的文本参数。(它始终为空)。

所以:
http://localhost/myservice.svc/SplitString/testtext

不起作用(它抛出我的异常,因为参数为空)。应该使用什么正确的 url 格式(或 UriTemplate)来使参数起作用?

我发现的 odata 和 WebGet 的唯一示例只有一个没有任何参数的示例方法。

4

1 回答 1

7

正确的方法是:/myservice.svc/SplitString?testtext='mystringvalue'

有关详细信息,请参阅此页面:http: //msdn.microsoft.com/en-us/library/cc668788.aspx

于 2010-06-11T10:06:03.393 回答