Задать вопрос
@thelegend3553
Человек

Как исправить ошибку StackOverflowException?

Как исправить ошибку StackOverflowException? Приложение Windows Forms

public async static void Body()
    {
        await Task.Run(() =>
        {
            if (IsJob)
            {
                connectToLongPool();

                while (true && IsJob)
                {
                    try
                    {
                        scanMessages();
                        Thread.Sleep(100);
                    }
                    catch
                    {
                        Thread.Sleep(1000);
                    }
                }
            }
        });
    }

private async static void connectToLongPool()
    {
        try
        {
            HttpWebRequest pollReq = (HttpWebRequest)WebRequest.Create("https://api.vk.com/method/groups.getLongPollServer?access_token=" + Config.apiKey + "&v=5.103&group_id=" + Config.groupId);
            pollReq.Method = "GET";
            pollReq.Accept = "application/json";
            HttpWebResponse pollResp = (HttpWebResponse)pollReq.GetResponse();
            StreamReader reader = new StreamReader(pollResp.GetResponseStream());
            StringBuilder builder = new StringBuilder();
            string pollData = builder.Append(reader.ReadToEnd()).ToString();
            JObject poolConnectJson = JObject.Parse(pollData);
            ts = poolConnectJson["response"]["ts"].ToString();
            key = poolConnectJson["response"]["key"].ToString();
            server = poolConnectJson["response"]["server"].ToString();
            Console.WriteLine(pollData);
        }
        catch
        {

        }
    }

private async static void scanMessages()
    {
        try
        {
            HttpWebRequest pollReq2 = (HttpWebRequest)WebRequest.Create(server + "?act=a_check&key=" + key + "&ts=" + ts + "&mode=32&version=3");
            pollReq2.Method = "GET";
            pollReq2.Accept = "application/json";
            HttpWebResponse pollResp2 = (HttpWebResponse)pollReq2.GetResponse(); // ошибка вылетает здесь
            StreamReader reader2 = new StreamReader(pollResp2.GetResponseStream());
            StringBuilder builder2 = new StringBuilder();
            string pollData2 = builder2.Append(reader2.ReadToEnd()).ToString();
            JObject poolConnectJson2 = JObject.Parse(pollData2);
            ts = poolConnectJson2["ts"].ToString();
            newEvent(poolConnectJson2);
            scanMessages();
        }
        catch 
        {
            
        }
    }
  • Вопрос задан
  • 204 просмотра
Подписаться 3 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы