0

VisualStudio2012と.netFramework4.5を使用してwcfRESTサービスを作成しようとしています。サービスは、4つ以上のパラメーターとともにファイルをアップロードしようとします。これを1回の呼び出しで実行したいと思います。httpの「put」メソッドを使用したい。しかし、私はこれらの2つのエラーを抱え続けています。

コントラクト「IRestBasketService」の操作「AddFile」には複数のリクエスト本文パラメーターがあり、そのうちの1つはStreamです。Streamがパラメーターである場合、本体に他のパラメーターを含めることはできません。(BodyStyleラップを使用している場合)

コントラクト「IRestBasketService」の操作「AddFile」は、ラッパー要素なしでシリアル化される複数のリクエスト本文パラメーターを指定します。ラッパー要素なしでシリアル化できるbodyパラメーターは最大で1つです。余分なbodyパラメータを削除するか、WebGetAttribute/WebInvokeAttributeのBodyStyleプロパティをWrappedに設定します。(BodyStyleベアを使用している場合)

私は何をすべきか ?

以下は私にエラーを与える2つの署名です

 [WebInvoke(Method = "PUT",
            BodyStyle = WebMessageBodyStyle.Bare,
            ResponseFormat = WebMessageFormat.Json,
            UriTemplate = "AddFile?key={key}&email={email}&fileName={fileName}&groupID={groupID}&ID={objectID}")]
  Response AddFile(string key, string email, string fileName, string type, string objectID, string groupID, Stream fileStream );

[WebInvoke(Method = "PUT",
           BodyStyle = WebMessageBodyStyle.Wrapped,
           ResponseFormat = WebMessageFormat.Json,
           RequestFormat = WebMessageFormat.Json,
           UriTemplate = "/AddFile")]
 Response AddFile(AddFileRequest request, Stream FileStream);

web.configでwebHttpBindingとwebHttpの動作を使用しています。

4

1 に答える 1