在部分">图5存储回调引用供以后使用";在本教程中,很明显,服务需要保持手动缓存列表同步,以反映已连接的客户端,只是为了防止对已断开连接的旧客户端的引用所引起的异常。但是,如果我不打算使用这样的缓存机制(我根本没有看到任何需要),而是直接访问GetCallbackChannel<T>
来执行对客户端的事件调用,它是否保证内部列表将仅包含所有连接的客户端并且将当调用包含的事件时,永远不会抛出相应的CommunicationException
?
对不起,我没有看到这里写着:
获取到调用当前方法的客户端实例的通道操作。
这会立即导致">图5存储供以后使用的回调引用";第一个教程的部分内容现在有意义了,因为我们将在另一个线程中调用客户机(实际上支持多个)(因此延迟到它们的请求)。我认为GetCallbackChannel
只是代表了在服务执行的任何点上的所有已确认回调(每个客户端一个)。
我明白,然后我自然要捕捉异常,如CommunicationException
一旦我模仿缓存列表方法(或简单的Exception
仅)。