Задать вопрос
Morpheus_God
@Morpheus_God

Существует ли в контексте ASP.NET MVC такое понятие как события?

Добрый день. Подскажите пожалуйста, есть ли в ASP.NET MVC возможность работать с событиями?
К примеру есть такой вот класс:
namespace WindowsFormsApp1
{
    public delegate void GetMessage(string m);
    public class EventExample
    {
        public event GetMessage _msg;
       public void Test(string s)
       {
            if(s == "Event")
                _msg?.Invoke("Hello I`m Event:)");
       }
    }
}

Возможно ли как то пробросить клиенту это событие? Или же в ASP.NET применяются другие возможности оповещения о которых я видимо еще не знаю.
  • Вопрос задан
  • 561 просмотр
Подписаться 1 Простой 6 комментариев
Решения вопроса 2
@nightwolf_du
5 лет опыта. c#, js, sql.
Вы хотите странного.
Классический веб-сервер работает только по пинку с клиента запросом, отдавая на него какой-то response.
Если вы хотите с сервера что-то запушить на клиент - вам надо смотреть с сторону WebSockets(правильно, но достаточно сложно) - смотрите сюда https://habr.com/post/145077/
Либо периодически опрашивать клиентом сервер через ajax и держать какой-то статический кэш событий, проверяя его на request-е.(вариант "в лоб", не очень правильно, но быстро в реализации)
Ответ написан
1) Используйте Web API.
2) Используйте SignalR.

JS клиент SignalR будет эмулировать постоянный коннект с SignalR на сервере.
Вы получите то что хотите.

SignalR - это абстракция над несколькими способами реализации "реалтайма" между клиентом и сервером. Какой именно способо будет использоваться договорятся клиент и сервер самостоятельно или вы подкрутите нужные вам.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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