想象一下情况(这是真实情况):
笔记本电脑上有一个 WCF 客户端应用程序。笔记本电脑通过 WiFi 连接到互联网。用户在连接到 WCF 服务的工作时在他的笔记本电脑上做一些事情(请求回复操作)。
然后用户的笔记本电脑进入睡眠状态,用户回家。在家用户唤醒他的笔记本电脑,连接 HSPDA/3G 调制解调器(不同的接口和 ip)并希望继续在客户端应用程序中工作。请注意,应用程序尚未关闭。
用户(客户端应用程序)应经过身份验证,如果可能,应加密通信。
最佳实践是什么?为每个操作创建新代理?使用身份验证初始化 net.tcp 连接时,这应该很慢。
解决方案 basicHttp 连接 (+HTTPS) 与 InstanceContextMode.PerCall 吗?请注意,速度和更高的有效载荷是问题。
或者最好的解决方案是类似“wrapper(Func<>)”的东西,它包含 while 循环,直到操作成功完成(失败时,创建新连接并再次调用函数)。
谢谢你的建议