繁体   English   中英

单向WCF调用后,在Service Proxy块上调用Close()

[英]Calling Close() on Service Proxy blocks after One Way WCF call

我有一个简单的Fire和忘记服务操作,工作正常,不会阻止。 但是,当我尝试关闭服务代理时,它将阻塞,直到单向调用完成。 这是预期的行为吗?

客户代码:

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
   }
}

是 - 取决于您的服务正在使用的绑定/配置以及您是否以任何方式使用会话。 有关导致阻止的配置的信息,请参阅以下链接:

WCF最佳实践#5:单向并不总是单向的

希望有所帮助

为了完整起见; 以下是微软对此行为的评价:

客户端阻止单向操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM