2011-10-12 2 views
0

메인 로그인 화면에서 브라우저가 모바일 브라우저인지 확인하고 있습니다. 브라우저가 모바일 브라우저 인 경우 사용자를 모바일 웹 사이트 로그인 화면으로 리디렉션합니다. 이것은 내 안드로이드 장치에서 잘 작동하지만 내 아이폰에서는 작동하지 않습니다. 가서 리디렉션 한 후 Response.End()를 넣으려고 시도했지만 Android 기기에서 오류 메시지가 표시되기 시작했습니다. 두 장치에서받는 메시지는 많은 서버 리디렉션에 있다는 것입니다. 어떤 힌트?응답. 모바일 장치에서의 리디렉션 오류

편집 : 서버

if (Request.Headers["User-Agent"] != null && (Request.Browser["IsMobileDevice"] == "true" 
      || Request.UserAgent.ToUpper().Contains("MIDP") || Request.UserAgent.ToUpper().Contains("CLDC") 
      || Request.UserAgent.ToLower().Contains("iphone") || Request.UserAgent.ToLower().Contains("avant") 
      || Request.UserAgent.ToLower().Contains("nokia") || Request.UserAgent.ToLower().Contains("pda") 
      || Request.UserAgent.ToLower().Contains("moto") || Request.UserAgent.ToLower().Contains("windows ce") 
      || Request.UserAgent.ToLower().Contains("hand") || Request.UserAgent.ToLower().Contains("mobi") 
      || Request.UserAgent.ToUpper().Contains("HTC") || Request.UserAgent.ToLower().Contains("sony") 
      || Request.UserAgent.ToLower().Contains("panasonic") || Request.UserAgent.ToLower().Contains("blackberry") 
      || Request.UserAgent.ToLower().Contains("240x320") || Request.UserAgent.ToLower().Contains("voda")) 
      || Request.UserAgent.ToLower().Contains("android") || Request.UserAgent.ToLower().Contains("ipad")) 
     { 
      Response.Redirect("~/Mobile/Login.aspx"); 
     } 
+1

모바일 브라우저가 발생했음을 확인하는 데 사용하는 코드를 표시 할 수 있습니까? 또한 모바일 로그인 페이지에 모바일 페이지에서도 동일한 확인 및 리디렉션을 수행하여 루프가 발생하는 지점이 있습니까? – lsuarez

+0

당신은 이것을 묻지 않고 거기 던지고있는 것을 알고 있습니다. http://51degrees.codeplex.com/ 모바일 장치 감지 및 리디렉션을 확인해보십시오. 위의 모든 작업을 수행하고보다 구체적인 장치 세부 정보를 제공합니다. –

+1

이 위의 코드를 추가했는데 특별한 것이 아닙니다. –

답변

0

체크 이벤트 뷰어 로그. Response.Redirect (urlString, false);를 시도해 볼 수도 있습니다.

Response.Redirect (urlString); Response.End()를 내부에서 수행하고 스레드가 중단되면서 문제를 일으킬 수 있습니다. 이것은 기대되는 것이지 큰 문제는 아니지만 예외로 던질 것입니다.

+0

이전에이 문제가 발생하여 스레드가 중단되었지만 다른 문제입니다. 그리고 나는 여전히 그것을 시도하고 그것은 똑같은 짓을 했어. –