0

Post WCF 操作を作成する必要があります。ユーザーがいくつかのパラメーターを渡す必要があります。私が目にするすべての例は、ユーザーが 1 つのパラメーターのみを送信することを前提としています。どうすればこれを達成できますか? クライアントが送信する URL は非常に長くありませんか?

        [OperationContract]
        [WebInvoke(Method = "POST", UriTemplate = "changeStatus/{ID}/{userID}/{activityDate}/{locationID}/{attachmentID}/{descriptionID}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        void ChangeStatus(Guid ID, Guid userID, DateTime activityDate, Guid locationID, Guid attachmentID = default(Guid), Guid descriptionID = default(Guid));
4

1 に答える 1

0

KeyValuePair 型の配列を受け取るように ChangeStatus メソッドを設定すると、配列をループして必要な値を取得できます。これは通常、1 つまたは 2 つ以上のパラメーターを送信する必要がある場合に Web サービスを構築する方法です。

クライアントがサービスを呼び出すために POST を実行している場合、データはクエリ文字列ではなくオブジェクトとして渡すことができますが、クエリ文字列を介して送信されている場合は、はい、URL が非常に長くなる可能性があります。

于 2013-05-03T15:53:58.963 に答える