我正在关注WCF的this教程,一切正常。看起来像那个简单的代码我应该能够从客户端调用任何类型的方法到服务器。我只对管道感兴趣,根本没有网络。
我记得在某个地方读过这些对象从服务器返回的内容,例如此代码中的pipeProxy
:
IStringReverser pipeProxy = pipeFactory.CreateChannel();
将持续仅5分钟,然后被处置或最终确定或类似的东西。这是真的?每次我想调用我的服务器方法时,是否必须拨打ChannelFactory
的{{1}}?另外,我可以保留我的CreateChannel
实例,还是会在一段时间后自杀?
我找不到关于这些细节的更多信息,我发现的是非常高级的教程,主要讨论我不关心的事情,如ChannelFactory
和网络。我想要的是在同一台机器上的两个应用程序之间进行基本通信。能够从应用程序A调用方法到应用程序B就是我所需要的。
那么有什么问题我应该害怕,或者链接教程中发布的代码是否足够?我可以只使用教程中的代码,只是继续向示例类添加方法,一切都会正常工作吗?或者还有其他我需要知道的事情吗?
答案 0 :(得分:1)
您可以保留您的ChannelFactory,实际上您应该创建一个,因为它很昂贵。
另一方面,创建新频道并不是一项昂贵的操作,您可以在每次需要拨打(或重试)电话时创建新频道。
我没有找到对5分钟的引用,所以我猜教程的意思是如果你保持连接打开超过5分钟,那么它会超时。如果您想在两个应用程序之间保持连接打开,我建议您调查DuplexChannels
而不是