【发布时间】:2013-01-24 21:59:04
【问题描述】:
我有一个简单的 Fire and Forget 服务操作,它运行良好且不会阻塞。但是,当我尝试关闭服务代理时,它将阻塞,直到单向调用完成。这是预期的行为吗?
客户代码:
var serviceProxy = new MyServiceProxy();
serviceProxy.OneWayCall();
serviceProxy.Close(); // This blocks until OneWayCall() is finished.
服务:
[ServiceContract]
public interface IMyService {
[OperationContract(IsOneWay = true)]
void OneWayCall();
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class MyService : IMyService {
public void OneWayCall() {
// Stuff and things
}
}
【问题讨论】: