如何解决C# 基于 Windows 的应用程序的 Polly 框架问题
我有一个基于 C# 的基于 Windows 的应用程序并使用 Visual Studio 2017
我正在尝试从连接断开的位置执行,以便在应用程序运行时连接到 Oracle 数据库和 FTP..
我使用以下代码在应用程序的某个位置检查 FTP 以及 Oracle 连接
var retryTimes = 100;
var retryableErrorCodes = new[] { "ORA-03113","ORA-03114","ORA-12543","ORA-12170","ORA-12154" };
RetryPolicy retryPolicyFTP = Policy
.Handle<Xceed.Ftp.FtpInvalidStateException>().Or<Xceed.Ftp.FtpIOException>()
.WaitAndRetry(retryTimes,_ => TimeSpan.FromSeconds(5));
RetryPolicy retryPolicy = Policy
.Handle<OracleException>(ex => retryableErrorCodes.Any(errorCode => ex.Message.Contains(errorCode)))
.WaitAndRetry(retryTimes,_ => TimeSpan.FromSeconds(5));
Policy.Wrap(retryPolicyFTP,retryPolicy).Execute(() =>
{
ExecuteSomeFunction();
});
当我每次尝试断开VPN时,我的意思是此时与Oracle和FTP的连接将丢失并重新连接并中断应用程序,执行点将在
Application.Run(MainForm.Instance);
为什么它没有从它被删除的地方重新执行。
编辑
我尝试使用 Windows 应用程序执行 POC,在断开 Oracle 连接后,出现以下错误。
请注意这一点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。