c# - 对连接丢失使用react

标签 c# .net f# real-time

假设我有一个连接到 WCF 服务或消息队列的 .NET 客户端应用程序。在程序正常执行期间,可能会出现连接丢失,或者用户可能已被管理员强制注销,或者管理员向应用程序发送消息以更改并登录到另一个 WCF 服务器(例如某些 WCF 服务器)。手动负载平衡的形式)。

只有当许多低级方法中的任何一个关联进行 WCF 调用并且失败时,客户端应用程序才会知道这一点。

当发生这种情况时,我希望应用程序及其所有窗口以某种方式被禁用/隐藏,以便出现对话框/启动窗口并重新连接,一旦成功,窗口就会再次显示。

如何做到这一点?我看到的问题是,首先发现问题的代码位于最低级别(即可能是由于单击主窗口顶部的对话框窗口上的按钮而导致的)。有点需要程序彻底翻转才能直观地处理它。因此我假设有一些模式或框架可以帮助解决这个问题?

最佳答案

不幸的是,没有一个很好的方法可以做到这一点,因为由它引起的异常将在 WCF 调用可能发生的任何地方开始,并向上直到有东西捕获它们。对于 HTTP 绑定(bind),您知道什么时候会发生,因为 WCF 仅在您进行显式调用时执行任何操作,因此您可以捕获任何断开/超时异常并适本地处理它们。

对于消息队列或 TCP 绑定(bind),我认为它可能会变得有点困惑,但策略是相同的。每当您进行 WCF 调用时,您都需要注意适当的异常,然后应用程序必须调用一些可以按照您想要的方式更改 UI 的函数。

关于c# - 对连接丢失使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4893663/

相关文章:

c# - ASP.NET MVC - 将多个变量传递给模型?

.net - 仅安装了 Office 2010 的 Office 2003 互操作

c# - 录制编码播放并保存一个 wav 文件

c# - 不使用文件或 app.config 进行 System.Net (HttpWebRequest) 跟踪?

c# - 在大型对象数组中查找对象参数会花费太长时间吗? (C#)

c# - 我如何使用 WPF 为 Google Chrome 之类的窗口设置主题?

c# - 有没有办法找到与 DateTime 格式字符串匹配的第一个字符串?

list - F# - 复制列表的递归函数

f# 类型属性访问

f# - 如何访问受歧视联合元组中的项目?