如标题所示,这是可能的吗?
我的概念是使用带有双工通道的WCF,每个客户端应用程序都会Login()到WCF中,并且WCF会将回调通道引用存储在列表中(来自GetCallbackChannel)。
然后,在广播时,它简单地遍历回调频道列表。
但是..。是否可以存储回调信道引用并在不同的服务上下文中共享,然后将其广播?
我知道它可以用套接字(我不知道怎么笑),但我真的想知道,如果可以做的WCF?
发布于 2012-01-11 06:32:23
是。如果您想要使用通过OperationContext.Current.GetChannelCallbacks().获得的回调,则基本上可以设置发布/订阅情况对于您的InstanceContext=PerSessions问题,您需要认识到每个会话将有一个不同的服务实例,因此您的回调列表必须存在于实例之外。您可以将其设置为静态或单例。此外,您还需要考虑线程安全问题。
这是一篇涵盖发布-订阅:http://msdn.microsoft.com/en-us/magazine/cc163537.aspx#S6的好文章
发布于 2012-01-11 05:44:15
当然,可以通过迭代回调通道列表来实现广播。我不确定你所说的“存储回调通道引用,并在不同的服务上下文中共享,然后广播它”是什么意思。
https://stackoverflow.com/questions/8810620
复制相似问题