JSON-запрос заменяет данные в другом методе

Есть два метода, которые идентичны, разница в JSON-запросе к WebSocket. Данные получаю от двух методов. Проблема в том, что второй запрос заменяет данные в строковом типе данных data_today, а не присваивает их к data_3m, из-за чего не получается работать с данными полученные от первого метода.

private async void button_Click(object sender, RoutedEventArgs e)
{
    await Task.Run(DatatodayClass);
    await Task.Delay(5000);
    await Task.Run(Data3MonthClass);
}

string data_today;
string data_3m;

private void DatatodayClass()
{
    try
    {
        ws.OnMessage += (sender, q) =>
        {
            Dispatcher.BeginInvoke(new ThreadStart(delegate
            {
                test1.Text = q.Data;
                data_today = q.Data;
            }));
        };

        ws.Connect();
        var msg = new
        {
            cmd = "get_data_req",
            devEui = "3630313076385D13",
            select = new
            {
                limit = 5,
                date_from = datestart,
                date_to = dateend
            }
        };

        ws.Send(JsonConvert.SerializeObject(msg));

        Data3MonthClass();
    }
    catch
    { MessageBox.Show("Возникли проблемы попробуйте позже"); }
}

private void Data3MonthClass()
{
    try
    {
        ws.OnMessage += (sender, w) =>
        {
            if (Cookie.data3M == null)
            {
                test2.Text = w.Data;
                data_3m = w.Data;
            }
        };

        ws.Connect();
        var msg = new
        {
            cmd = "get_data_req",
            devEui = "3630313076385D13",
            select = new
            {
                limit = 5,
                date_from = datestart - 7776000000,
                date_to = dateend - 7776000000
            }
        };
        ws.Send(JsonConvert.SerializeObject(msg));
    }
    catch
    { MessageBox.Show("Возникли проблемы попробуйте позже"); }
} 

Ответы (0 шт):