У меня есть простая операция 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
}
}