用连接通知重新连接逻辑
时间:2020-03-05 18:42:49 来源:igfitidea点击:
假设我有一个应用程序想要与服务器的持久连接。如何实现连接/重新连接逻辑,以使我不会浪费资源(功率/带宽),并且在连接出现/改善时可以快速重新连接?如果仅使用连接通知,则可能会陷入与本地网络无关的问题。
如果我们可以向我展示C#
版本,请加分。
解决方案
回答
这是一个非常"巨大"的问题。我可以说我们使用O / R映射器,并且对数据库的每个"查询"都需要一个名为PersistenceBroker的对象。此类负责与连接,身份验证等有关的所有DB Stuff。
我们已经编写了一个PersistenceBrokerFactory.GetCurrentBroker(),它返回"工作中"的代理。如果DB突然失败(由于某种原因),则CONN对象将在30秒(或者我们定义的任何时间)后" timeout()"。如果发生这种情况,我们会向用户显示他/她处于离线状态,并显示一个重新连接按钮。
另一方面,为了直观地表明用户具有连接性,我们在后台运行了一个线程,该线程每15秒检查一次Internet连接。我们对google.com执行1 ping操作。 ;)如果失败,则假定Internet某种程度上已损坏,并且我们更新了状态栏。
如果需要,我可以为我们显示网络运行状况监视器的所有代码。我从Google取得了一些成就,其他则是我自己创造的:)