在某些地方,我看到IsInitiating创建了一个新会话。其他地方说它仅在需要时创建一个新会话。哪个是正确的?

为了清楚起见,我想确保可以在不创建三个会话的情况下调用IService.Foo三次。

最佳答案

第一次通过通道调用IsInitiating = true操作时,会话开始。将来对IsInitiating = true操作的调用不会启动新的会话,它们只是成为现有会话的一部分。在调用IsTerminate操作之后,会话结束(这将导致客户端关闭通道)。一旦IsTerminate操作返回,就不能通过该通道调用进一步的操作。这些属性使开发人员可以控制相对于会话生存期的操作调用顺序。

Sorry, Here is a link to the source.

关于wcf - WCF:IsInitiating到底做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/679531/

10-08 21:27