5

WCFはこれに一致します:

http:// localhost:8888 / test / blahFirst / blahSecond / sdfsdf、wwewe

これに:

[OperationContract]
[WebGet( UriTemplate = "test/{first}/{second}/{val1},{val2}" )]
string GetVal( string first, string second, string val1, string val2 );

va11、val2を可変長のパラメーターリストにする方法はありますか?つまり、val1、....、valNである可能性がありますか?そして、次のようなサービスメソッドになります。

string GetVal( string first, string second, List<string> params );

またはそれらの線に沿った何か?

4

1 に答える 1

6

シンプルな文字列を GET してから、メソッド内で split メソッドを使用して配列 (またはリスト) に変換します。

インターフェイスは次のようになります。

[OperationContract]
[WebGet(UriTemplate = "test/{first}/{second}/{val1}")]
string GetVal(string first, string second, string val1);

あなたの実装:

public string GetVal(string first, string second, string paramArray)
    {
        string[] parameters = paramArray.Split(',');

        foreach (string parameter in parameters)
        {
            Console.WriteLine(parameter);
        }

        return "Hello";
    }

そして、ブラウザで次のように呼び出します。

http://localhost:8731/MyServer/test/first/second/1,2,3

詳細な回答については、MSDN フォーラムをご覧ください。

于 2011-01-10T14:45:01.913 に答える