代码之家  ›  专栏  ›  技术社区  ›  Toad

OData和自定义WCF Webget方法

  •  4
  • Toad  · 技术社区  · 14 年前

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

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

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

    1 回复  |  直到 14 年前
        1
  •  7
  •   Vitek Karas MSFT    14 年前

    正确的方法是: /myservice.svc/splitstring?testtext='myStringValue'

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