0

クエリ文字列で任意の数のパラメーターを受け取り、それらをメソッドのある種のキー、値収集パラメーターに送信できるWCFRESTfulサービスメソッドを作成したいと思います。例えば:

電話したら

"http://localhost/Service.svc/DoWork?p1=test&p2=testAgain"

メソッドの実装を次のようにしたいと思います。

    [WebGet]
    public void DoWork(Dictionary<string,string> values)
    {
        // Add your operation implementation here
        return;
    }

パラメータにvaluesは、それぞれの値を持つp1、p2キーが含まれます。

これどうやってするの?私は1つの方法として、カスタムUriTemplateを定義し、すべてを1つの文字列パラメーターに送信して解析することでしたが、「&」文字がスローされ、危険なフォーラムリクエストの例外が発生します。これを達成するためのもっと簡単な方法があると思わずにはいられません。

4

2 に答える 2

1

この情報をHttpContext.Current.Request.QueryStringオブジェクトから取得できますか?

于 2012-05-30T22:53:59.650 に答える
1

を介してリクエストクエリ文字列にアクセスできますWebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Query。次に、を使用HttpUtility.ParseQueryStringしてそれを解析し、必要NameValueCollectionなものに似たものにするDictionary<string, string>ことができます。

于 2012-05-31T06:10:20.830 に答える