0

WCFDataServices を使用してタスクを実行しようとしています。

次のようなサービス操作があります

[WebInvoke(メソッド="POST")]

Public bool Add(文字列 x1, 文字列 x2, 文字列 x3)

{

// 新しいレコードを DB に追加します。AND IF THE ADDITION IS SUCCESSFULL RETURs true または false

}

私のMVCクライアントアプリケーションで。リポジトリには、同様に追加する機能があります

public bool Add(文字列 y1, 文字列 y2, 文字列 y3)

{

// ここで、URI を実行し、戻り値をキャプチャします。ビューでいくつかのアクションを表示するには、それをコントローラーに渡します。

}

サービスに問題はありません。期待どおりにブール値を返します。

リポジトリ メソッドで返されたブール値を取得する方法がわかりませんでした。

// OperationResponse x = dsContext.Execute(requestUri, Microsoft.Data.OData.HttpMethod.Post);

上記のようなことをしようとしましたが、うまくいきませんでした。

御時間ありがとうございます

4

1 に答える 1

0

I assume you're using WCF Data Services 5.0 on the client (since you're using the Execute with a method). Please upgrade to the RTM bits (http://blogs.msdn.com/b/astoriateam/archive/2012/04/09/wcf-data-services-5-0-rtm-release.aspx), which are also available on NuGet (search for Microsoft.Data.Services.Client). After that this code should work just fine:

public bool Add(string x1, string x2, string x3)
{
     return this.ctx.Execute<bool>(
         new Uri("Add", UriKind.Relative),
         "POST",
         /*singleResult*/ true,
         new UriOperationParameter("x1", x1),
         new UriOperationParameter("x2", x2),
         new UriOperationParameter("x3", x3))
         .Single();
}
于 2012-05-17T08:44:49.493 に答える