Инициировать событие при изменении переменной c#

Salomon1

Client
Регистрация
22.04.2014
Сообщения
36
Благодарностей
3
Баллы
8
У меня есть переменная, в неё раз в 10-30 секунд приходят данные по websocket. Как сделать так, что бы проект начинал работу именно после того как обновилась переменная? Проект должен сделать свои дела после обновления переменной и снова ждать пока обновится переменная.

Вариант ставить проверку IF и проверять обновилась переменная или нет - не подходит. Проект у меня работает в 100 потоков и этот IF делает большую нагрузку на процессор.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 366
Благодарностей
3 292
Баллы
113
приходят данные по websocket.
https://www.nuget.org/packages/WebSocketSharp/
C#:
private WebSocket InitConn()
{
    WebSocket ws = null;
    try
    {
        ws = new WebSocket("wss://site.com/");

        //ws.OnOpen += (sender, e) => ws.Send("");

        ws.OnMessage += (sender, e) => { LastMsg = e.Data; };

        ws.Connect();

        return ws;
    }
    catch (Exception e)
    {
        ws?.Close();
        throw new Exception("Не удалось подключиться.", e);
    }
}
Подписываешься на OnMessage и по приходу данных (e.Data), OnMessage вызовет твой метод с нужной логикой.
 
  • Спасибо
Реакции: ares.bct и Err0r

Salomon1

Client
Регистрация
22.04.2014
Сообщения
36
Благодарностей
3
Баллы
8
https://www.nuget.org/packages/WebSocketSharp/
C#:
private WebSocket InitConn()
{
    WebSocket ws = null;
    try
    {
        ws = new WebSocket("wss://site.com/");

        //ws.OnOpen += (sender, e) => ws.Send("");

        ws.OnMessage += (sender, e) => { LastMsg = e.Data; };

        ws.Connect();

        return ws;
    }
    catch (Exception e)
    {
        ws?.Close();
        throw new Exception("Не удалось подключиться.", e);
    }
}
Подписываешься на OnMessage и по приходу данных (e.Data), OnMessage вызовет твой метод с нужной логикой.
Можно сделать что-то подобное прямо в проекте зеннопостера?
Я запускаю код С# по нажатию на кнопку и он ждет обновления переменной, затем делает свои дела и снова ждет.
 

Вложения

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 366
Благодарностей
3 292
Баллы
113

Salomon1

Client
Регистрация
22.04.2014
Сообщения
36
Благодарностей
3
Баллы
8
Спасибо, а как такое сделать? :-)))
Если не сильно трудно, я думаю многим это будет полезно... информацию найти такую тяжело, уже несколько дней ищу...
 

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
нужно нечто подобное. Изменилось значение глобальной переменной - мы продолжаем действие.
То есть кубик C# ожидания/сна нужен. Условия реально дохера жрут процессора
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 366
Благодарностей
3 292
Баллы
113

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 230
Благодарностей
802
Баллы
113

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 366
Благодарностей
3 292
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 366
Благодарностей
3 292
Баллы
113

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)