Я ищу хорошее чистое решение для определения того, вышел ли пользователь из приложения ASP.NET MVC из Silverlight при выполнении веб-запроса.
Проблема заключается в том, что на веб-сайте естьКомпонент Silverlight, в котором пользователь может потратить большую часть своего времени, что позволяет ему выйти из веб-сайта.Некоторые действия в компоненте Silverlight запускают веб-запрос к серверу (используя WebClient
), обычно получая результат в формате JSON.Но если пользователь вышел из системы, я получаю HTML-код для страницы входа в систему (поскольку запрос перенаправлен).
Я могу проверить, является ли ответ действительным результатом JSON, ноесли мне нужно будет ввести другие типы ответов позже, это не удастся.Я также могу начать анализ потока ответов, чтобы увидеть, содержит ли он элементы со страницы входа в систему, но это выглядит очень неэластично и хрупко.Возможно, сконфигурируйте MVC так, чтобы он отвечал на запросы из определенного источника, возвращая известный ответ об ошибке.
EDIT
Используя Fiddler, я обнаружил, что могу искать 302код ответа HTTP-запроса.Однако оказывается, что вы не можете наследовать класс WebClient
в Silverlight, поэтому я не мог легко получить код состояния.Я подумал об использовании класса WebRequest
, но он кажется слишком низким для того, что я хочу сделать.Мое текущее решение - разобрать первую строку потока ответов.