wcf与不稳定连接

wcf与不稳定连接,wcf,exception,connection,Wcf,Exception,Connection,我在iis中托管了一个wcf服务。端点使用wsHttpBinding 我有很多客户正在使用该服务。 互联网连接不稳定。 客户端使用该服务在数据库中插入数据 在客户端处理异常的最佳实践是什么。 每次客户端需要插入数据(调用服务)时,使用using语句并初始化新连接是好的选择,还是应该保持打开的引用并在每次检测不到连接时重新初始化 我不喜欢客户端调用服务向用户显示错误,告诉用户重试。它能自动重试吗 首先,在处理WCF代理或频道时不要使用。使用此选项可关闭代理或通道。代理的使用取决于您的应用程序、需求

我在iis中托管了一个wcf服务。端点使用wsHttpBinding

我有很多客户正在使用该服务。
互联网连接不稳定。 客户端使用该服务在数据库中插入数据

在客户端处理异常的最佳实践是什么。
每次客户端需要插入数据(调用服务)时,使用using语句并初始化新连接是好的选择,还是应该保持打开的引用并在每次检测不到连接时重新初始化

我不喜欢客户端调用服务向用户显示错误,告诉用户重试。它能自动重试吗


首先,在处理WCF代理或频道时不要使用。使用此选项可关闭代理或通道。代理的使用取决于您的应用程序、需求和当前配置


默认情况下,WsHttpBinding将消息安全性与Windows身份验证和建立安全上下文一起使用。这意味着在通信开始时,对用户进行身份验证并创建安全上下文。安全上下文类似于安全会话,因此用户不必在来自同一代理的后续调用中进行身份验证。只有当您计划对多个调用使用代理时,安全上下文的使用才有价值,否则会增加开销。但创建安全上下文也有副作用——单个服务实例处理来自该代理的所有调用。服务的生命周期由多个超时控制。最重要的是接收超时,默认值为10分钟。如果在10分钟内没有来自代理的请求到达,则释放实例并关闭通道,但代理不知道。下次使用代理时,它将触发异常。在对服务进行请求处理期间,任何未处理的异常也会关闭通道。所以,如果您想重用代理,您必须处理检查通道状态和在出现问题时重新创建代理的额外复杂性

您可能缺少文本中的一个链接(“使用此[方法][1]”?