Перехват значений контроллера

Рейтинг: 3Ответов: 1Опубликовано: 21.04.2015

У меня есть веб-приложение на ASP.NET. В одном месте в контроллере получаются данные. Еще есть desktop-приложение. В desktop-приложении есть компонент WebBrowser, на котором отображается копия страниц веб-приложения. То есть, например, у приложения на ASP.NET есть начальная страница, на которую можно попасть по адресу http://localhost/Main/Hello В desktop-приложении копия этой страницы отображается, если выполнить функцию

webbrowser.Navigate("http://localhost/Main/Hello");

Цель такая. В одно время в ASP.NET получаются данные, обрабатываются и передаются дальше. Мне нужно получить эти данные в desktop-приложении и запретить дальнейший переход "обрабатываются и передаются дальше". То есть, например:

public ActionResult Hello()
{
    // Получаем данные, например в переменную Х
    string X = ...;
    // Обрабатываем
    // Пересылаем дальше
    Redirect(...);
}

Я пробовал обработку и пересылку дальше перенести в другой контроллер, куда данные посылать GET-запросом, вроде так:

public ActionResult Hello()
{
    // Получаем данные в переменную Х
    string X = ...;
    // Отправка переменной GET-запросом в другой контроллер
    string url = Url.Action("Priem", "Main", null, null, Request.Url.Host) + "?X=" + X;
    Redirect(url);
}

public ActionResult Priem(string X)
{
    // Приняли переменную и записали, например, в переменную Y
    string Y = X;
    // Обработка переменной Y
    Redirect(...);
}

При работе веб-приложения всё работает нормально, данные пересылаются. Дальше я хочу в desktop-приложении нужно перехватить эту переменную Х. Для этого я на событие компонента webbrowser вешаю проверку

private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
   if (e.Url.AbsoluteUri.IndexOf("Priem") != -1)
   {
      e.Cancel = true; // Запрет дальнейшего перехода
      // Обработка переменной, полученной с Url
   }
}

Но причина в том, что условие не выполняется, и такую ссылку оно не видит. Как мне тогда правильно это сделать или как по другому? webbrowser компонент должен обязательно быть. Заранее всем спасибо.

Ответы

▲ 1

Вам нужно что-то типа чата? В одном месте написали в другом отразилось? Мне кажется, что Вам нужно посмотреть в сторону SignalR.... Вот тут есть пример работы http://metanit.com/sharp/mvc5/16.1.php