private void DoGetTime() { try { _isRun = true; bool isReturn = false; int successCount = 0; while (_isRun) { _requestCount++; SetText("正在请求:GetServerTime"); string msg = "结果:[result] 耗时:[time]ms"; DateTime dtStart = DateTime.Now; ResultModelOfdateTime result = new ResultModelOfdateTime(); try { result = _server.GetServerTime(); successCount++; msg = msg.Replace("[result]", "成功 Code:" + result.Code); } catch (Exception ex) { if (ex.Message.Contains("Thread")) { isReturn = true; } msg = msg.Replace("[result]", ex.Message); } finally { DateTime dtEnd = DateTime.Now; msg = msg.Replace("[time]", (dtEnd - dtStart).TotalMilliseconds.ToString()); if (successCount > 0) { _result = successCount / _requestCount * 100; _result = Math.Round(_result, 2); } if (!isReturn) { SetText(msg); } } Application.DoEvents(); Thread.Sleep(_space); } } catch { } }