nservicebus を同期して呼び出す必要がある Web サービスがあります。これはどのように達成できますか?
質問する
1151 次
3 に答える
1
クライアントは aspx ページではないため、非同期サンプルのようには使用できません。RIA サービスを使用しているため、wcf サービス自体の同期を制御できません。Wait と Pulse を使用して解決しました。
[WebMethod]
public string HelloWorld(int number)
{
string returnVal = "" ;
var command = new Command { Id = number };
lock(this)
{
Global.Bus.Send(command).Register<ErrorCodes>(code =>
{
lock(this)
{
returnVal = returnVal = Enum.GetName(typeof(ErrorCodes), code);
Monitor.Pulse(this);
}
}
);
Monitor.Wait(this);
}
return returnVal;
}
于 2010-01-08T11:18:50.423 に答える
1
NServiceBus エンドポイントを Web サービスおよび wcf サービスとして公開するオプションもあり、期待どおりに同期的に呼び出すことができます。
于 2010-01-07T12:33:13.200 に答える
1
AsyncPages サンプルを見てください。同期させたい場合は、コールバックが完了するまでブロックしてください。
お役に立てれば!
于 2010-01-05T15:20:13.303 に答える