MVC 2, как перейти по URL-адресу без перенаправления?

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

Цените помощь.


person doogdeb    schedule 03.06.2011    source источник
comment
Какая? Можешь сказать это по-английски, пожалуйста? - Без понимания вы всегда можете позвонить domain.com/account/LogOut, и это очистит текущие учетные данные, назначенные пользователю.   -  person balexandre    schedule 03.06.2011
comment
@balexandre: если вы это сделаете, ваше приложение будет перенаправлено на эту страницу, я хочу перейти по URL-адресу, не перенаправляясь на него.   -  person doogdeb    schedule 03.06.2011


Ответы (3)


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

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

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

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

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

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


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

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

 WebClient client = new WebClient ();
 string reply = client.DownloadString (address);
person balexandre    schedule 03.06.2011
comment
вы правы в том, что это моя система аутентификации, но мой вопрос связан не с тем, как работает моя аутентификация, а с тем, как я могу вызывать URL-адрес в фоновом режиме. Вам не нужно знать или заботиться о моей системе аутентификации, я просто добавил эту часть для некоторой справочной информации. - person doogdeb; 03.06.2011
comment
Если это только для этого, вы должны просто попросить об этом! Множество руководств по этому поводу. Вы можете использовать HttpWebRequest или WebClient - person balexandre; 03.06.2011
comment
Я просил об этом. В основном я хочу вызвать URL-адрес из своего приложения в фоновом режиме. - person doogdeb; 03.06.2011

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

Server.TransferRequest()

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

person Richard    schedule 03.06.2011
comment
Я хочу, чтобы вызов происходил в фоновом режиме, чтобы он вышел из зависимой стороны. - person doogdeb; 03.06.2011

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

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

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

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

person Chao    schedule 03.06.2011