如何重复请求/(制作循环)?

时间:2015-05-18 17:25:21

标签: c#

我向服务器发出请求25秒,如果发生了什么事情,连接停止并且我得到了我的值,如果没有 - 当时间结束时我得到一个空字段的json。 在这两种情况下如何重复我的请求? 这时我每个请求都使用一个按钮。

    string connect_lp = "http://" + response.response.server + "?act=a_check&key=" + response.response.key + "&ts=" + response.response.ts + "&wait=25&mode=2";
    string json_lp = client.DownloadString(connect_lp);
    RootObject response_lp = (RootObject)json_serializer.Deserialize(json_lp, typeof(RootObject));

1 个答案:

答案 0 :(得分:1)

如果您只是不断地轮询数据或其他内容,请使用

while (true)
{
    // code goes here
}

环。如果您只是轮询直到某个条件存在,请尝试执行do / while循环:

do {
    // some stuff
} while (!condition);

do / while循环的优点在于循环的内容将始终至少执行一次(注意while检查是如何在循环的底部)。将此与传统的while循环进行对比,其中检查是第一个,因此循环体可能永远不会运行。

因此,在您的情况下,您可能需要以下内容:

string connect_lp;
string json_lp;
RootObject response_lp;

do {
    connect_lp = "http://" + response.response.server + "?act=a_check&key=" + response.response.key + "&ts=" + response.response.ts + "&wait=25&mode=2";
    json_lp = client.DownloadString(connect_lp);
    response_lp = (RootObject)json_serializer.Deserialize(json_lp, typeof(RootObject));
    // do more stuff
} while (response_ip.IsNotEmpty()); // or whatever.