2011-01-25 1 views
0

В нашем приложении мы нарушили наше приложение в несколько модулей. Когда вызывается страница logout.aspx, она создает стек страниц выхода для вызова, по одному в каждом модуле. Затем он перенаправляется на страницу выхода каждого модуля, которая перенаправляет обратно вызывающему абоненту.Есть ли предел для переадресации ответа Asp.Net 4.0 или IIS7, который вы можете использовать в строке

Это прекрасно работает, но в нашем новом приложении, использующем APS.Net 4.0, перенаправления просто перестают работать. Fiddler показывает, что перенаправление было отправлено ... но браузер не отправляет следующий GET.

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

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

Вот окончательный 302, что браузер получает ... это просто не сделать, чтобы получить loginredirect.htm:

> GET /AmsiWeb/logoutCoordinator.aspx 
> HTTP/1.1 Accept: 
> application/x-ms-application, 
> image/jpeg, application/xaml+xml, 
> image/gif, image/pjpeg, 
> application/x-ms-xbap, 
> application/vnd.ms-excel, 
> application/vnd.ms-powerpoint, 
> application/msword, 
> application/x-shockwave-flash, */* 
> Accept-Language: en-US User-Agent: 
> Mozilla/4.0 (compatible; MSIE 8.0; 
> Windows NT 6.1; WOW64; Trident/4.0; 
> SLCC2; .NET CLR 2.0.50727; .NET CLR 
> 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; MS-RTC LM 
> 8; .NET4.0C; .NET4.0E) 
> Accept-Encoding: gzip, deflate 
> Connection: Keep-Alive Host: ustawvqa1 
> Cookie: 
> ASP.NET_SessionId=uf51gkiem0ditfvyi3pvkhoj; 
> GeacSessionId=aa6be7f2-9bd5-4700-9a21-e9fa6c0a3b19; PortalPathURL=; 
> PortalPath=C:\inetpub\wwwroot\AmsiWeb\esiteweb\; ASPSESSIONIDQQRDQTCC=EIMNDBIDIPHCGCMFNHBOHOOK; 
> .ASPXAUTH=51C5F3FA040DFEDDFB163D0DF5B5F9D2AAAB91EA76A5388BFE61BC54D83FEF29EB3B0C7886FB473EF9391999D67921B5BE0CEA403F6BA00D5954D8E16BF054212EA4754C40F409473A3990D1A41867D9099ECD45EC229C6205C599727A5BFB19F6DD0CE72B8480CE1C13C10C7A39D50503420A79B70248DF236403C5E632CE8D670DBEF5F0F64F87141A546B8A471EAA163DEA445F76AC6F36D36F7EC3BA805C 
> 
> 
> HTTP/1.1 302 Found Cache-Control: 
> private Content-Type: text/html; 
> charset=utf-8 Location: 
> /AmsiWeb/LogOutRedirect.htm Server: 
> Microsoft-IIS/7.5 X-AspNet-Version: 
> 4.0.30319 Set-Cookie: .ASPXAUTH=; expires=Tue, 12-Oct-1999 04:00:00 GMT; 
> path=/; HttpOnly X-Powered-By: ASP.NET 
> Date: Tue, 25 Jan 2011 19:20:21 GMT 
> Content-Length: 144 
> 
> <html><head><title>Object 
> moved</title></head><body> <h2>Object 
> moved to <a 
> href="/AmsiWeb/LogOutRedirect.htm">here</a>.</h2> 
> </body></html> 

Мой вопрос ... есть ли предел response.redirects вас можешь использовать? Если да, то как мне его изменить ... если нет, есть ли у кого-нибудь другие идеи, что может происходить здесь.

(Якобы есть ответ на это на обмене специалистов)

+0

Что-нибудь еще изменилось? Например. появилось ли обновление на клиентской стороне библиотеки? Браузеры обычно должны оценивать 302 - это 302, верно? (Если есть «ответ» на EE, просто откройте его в FF и прокрутите вниз. Путь вниз. Эксперты ... что угодно.) –

+0

Да, это 302 ... Я добавлю последний вход в изменение выше , – PilotBob

ответ

1

Я бы в предположении, что это браузер остановка, а не веб-сервер. Как и в большинстве браузеров, теперь, после нескольких примеров, если вы хотите больше показать alert(), может быть встроен механизм безопасности, предполагающий, что многие переадресации - это небезопасное поведение.

Я также более склонен поверить в это с вашим упоминанием о видимости заголовка Location:, но не более GET.

Follow-Up:

Оказывается, они существуют в браузерах. Однако ограничения can be changed с некоторой незначительной настройкой. Кроме того, как я читал, убедитесь, что вы не создаете цикл перенаправления (/PageA.aspx не перенаправляет обратно на себя или /PageA.aspx на /PageB.aspx, а затем обратно на /PageA.aspx)

ps Эксперты обменяются, или one I was able to locate, имеет ответ со ссылкой на abandoned link(с иронией данный текст в ссылке)

+0

Хм ... хорошо, я это проверю. Кажется, что в IE6 мы не видим проблемы, но делаем это в IE8. Ссылка ExpExhange, которую я видел, была: http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/ASP/Q_25388628.html Я увижу, могу ли я изменить свой IE8, хотя я всегда перенаправляюсь обратно к тот же домен может все еще быть проблемой. – PilotBob

+0

Принятый ответ был в основном «Я не знаю предела, кроме памяти» (не цитирую его напрямую, поскольку я чувствую, что это немного жестко для EE). Но, судя по другим сообщениям, которые я нашел, это неверно. –

+0

Я изменил эту ссылку, которую вы мне дали, меняя MaxConnectionsPerServer, хотя это, похоже, не помогает. Вздох. Думаю, мне придется изменить свой код, чтобы он не работал таким образом.Проблема в том, что я координирую с некоторым устаревшим кодом .asp. – PilotBob

Смежные вопросы