我有一个需要以同步方式调用 nservicebus 的 Web 服务。如何实现?
问问题
1151 次
3 回答
1
客户端不是 aspx 页面,所以我不能像异步示例那样使用它。我正在使用 RIA 服务,所以我无法控制 wcf 服务本身的同步。我通过使用等待和脉冲解决了它:
[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
查看 AsyncPages 示例。如果您希望它是同步的,只需阻塞直到回调完成。
希望这可以帮助!
于 2010-01-05T15:20:13.303 回答
1
还可以选择将 NServiceBus 端点公开为 Web 服务和 wcf 服务,并且可以按照您的预期同步调用它们。
于 2010-01-07T12:33:13.200 回答