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);

ただし、URLをどのように指定しても、テキストパラメータを入力することはできません。(常にnullです)。

だから:
http://localhost/myservice.svc/SplitString/testtext

動作しません(パラメータがnullであるため、例外がスローされます)。パラメータを機能させるために使用する必要がある正しい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 に答える