顧客のすべてのマシンで実行される WCF のアプリケーションがあります。しかし、ネット上のサーバーのように機能するのは 1 つだけです。
このモデルでは、WCF の「クライアント」が呼び出されるたびに、WCF の「サーバー」を呼び出して応答を取得します。
だから、私は私のインターフェイスにこの設定を持っています:
[WebInvoke(BodyStyle = WebMessageBodyStyle.WrappedRequest)]
[OperationContract]
MyObjectReturn CheckUpdate(string foo1, string foo2, string foo3);
私のコードでは、これは:
MyObjectReturn myObjReturn = new MyObjectReturn();
if (this.Master)
{
myObjReturn.Code = 15000;
myObjReturn.Message = "New Update found";
return myObjReturn;
}
else
{
var myTask = Task<MyObjectReturn >.Factory.StartNew(() =>
{
ServerContractClient server = new ServerContractClient(master.Url);
return server.CheckUpdate(foo1, foo2, foo3);
}
return myTask.Result;
}
WCF の「クライアント」が「サーバー」を呼び出すと、常に null が返されます。「Task . Factory.StartNew」を使用しないと、Bad Request エラーが発生します
ヒントはありますか?