MVC 2 как перейти на URL без перенаправления? - PullRequest
0 голосов
/ 03 июня 2011

Есть ли способ перейти на URL, не перенаправляя на него? По сути, я хочу вызвать URL из моего приложения в фоновом режиме, чтобы он мог выйти из зависимой стороны.

Ценю помощь.

Ответы [ 3 ]

1 голос
/ 03 июня 2011

То, что вы пытаетесь сделать , не заставляет нас отвечать , поскольку это напрямую связано с вашей собственной реализацией аутентификации.

Обычная Аутентификация ASP.NET , основанная на Аутентификации с помощью форм, вам понадобится , чтобы всегда указывать URL-адрес из браузера , поскольку именно там используется проверенная аутентификация.

Вы можете попробовать , открыв свой веб-сайт и войдя в него, после этого откройте другой браузер (не окно браузера) в URL своего приложения ... вы увидите, что вы тоже необходимо войти снова , поскольку аутентификация подключена к первому браузеру.

Вам, как архитектору приложений, нужно сделать это путем реализации другого способа аутентификации , как правило, в таких случаях, это происходит при использовании веб-сервисов, где вам необходим код аутентификации * Сначала 1020 * (задается путем вызова метода Login), и этот код всегда необходимо добавлять в тело или заголовок любого вызова в систему .

Таким образом, вы можете легко удалить код аутентификации, и все вызовы процедур не будут выполнены.

Как уже говорилось, это зависит не от нас, а от вас, чтобы создать правильный уровень аутентификации .


от вашего комментария

это так же просто, как использовать WebClient object

 WebClient client = new WebClient ();
 string reply = client.DownloadString (address);
0 голосов
/ 03 июня 2011

Чтобы клиент посетил заданный URL-адрес в фоновом режиме, вы должны либо сделать ему AJAX-вызов, либо, возможно, иметь изображение с src вашего URL для выхода из системы (хотя вы должны убедиться, что вы возвращаете FileResult из ваше изображение тоже). Именно так большинство аналитических пакетов обращаются к соответствующим URL-адресам в фоновом режиме.

Проблема здесь в том, что ни один из них не является надежным на 100%, отключите JavaScript или изображения в вашем браузере, и эти результаты не получатся.

Исходя из того, что вы сказали, я думаю, что вы хотите, чтобы пользователь перешел на любую из множества страниц, а не на конкретную страницу выхода из системы. Если это действительно так, то лучшим решением на самом деле является двойное перенаправление.

Попросите ваше приложение перенаправить на ваш URL для выхода из системы, но перед этим укажите URL страницы, на которую вы хотите, чтобы они переходили в tempdata. Затем в результате действия для страницы выхода из системы вы можете по необходимости выйти из системы и вернуть перенаправление на URL из tempdata.

0 голосов
/ 03 июня 2011

Если вы хотите перейти на новый URL-запрос, вы все равно можете использовать

Server.TransferRequest()

Проблема заключается в том, что отсутствие перенаправления в адресной строке браузера не будет отражать факт перемещенияих запрос на другой URL.

...