如果我的代码在 C# 中连接 Web 服务失败,我该如何尝试 3 次?

发布于 2024-12-18 21:29:59 字数 506 浏览 2 评论 0原文

这是我的代码:

FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(Constant.IP);
reqFTP.Credentials = new NetworkCredential(UserName, Password);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
response = (FtpWebResponse)reqFTP.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);

如果我的代码无法连接,我想尝试连接到网络服务。只做了3次,我就想放弃了。

我应该如何尝试?

我正在考虑 try catch 并计算失败时间,但我认为会有更好的解决方案。

Here is my code:

FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(Constant.IP);
reqFTP.Credentials = new NetworkCredential(UserName, Password);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
response = (FtpWebResponse)reqFTP.GetResponse();
Stream responseStream = response.GetResponseStream();
reader = new StreamReader(responseStream);

I would like to try to connect to the web service if my code fails to connect. Only after 3 times, I would like to give up.

How should I try?

I am thinking about try catch and count the failure time but I think there will be better solutions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

破晓 2024-12-25 21:30:00
int faultCounter = 0;
bool faulted;
do {
  faulted = false;
  try {
    // perform service operation
  } catch {
    faultCounter++;
    faulted = true;
  }
} while (faulted && faultCounter < 3);
int faultCounter = 0;
bool faulted;
do {
  faulted = false;
  try {
    // perform service operation
  } catch {
    faultCounter++;
    faulted = true;
  }
} while (faulted && faultCounter < 3);
無心 2024-12-25 21:30:00

将代码封装在循环中,如果没有异常则返回或中断。

Encapsulate your code in loop, and return or break if there is no exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文