2012-10-01 5 views
1

이것은 이상합니다. 다른 문제가있을 수 있지만 여기 거래가 있습니다. URL에 매개 변수로 전달 된 정보를 사용하여 간단히 정보를 수집하고 URL로 리디렉션하는 응용 프로그램을 만들고 있습니다. ASP.NET MVC 3 (.NET 4.0) 프레임 워크를 사용하고 있으며 이전에 응용 프로그램 외부의 URL로 리디렉션하지 않았습니다.RedirectPermanent가 ASP.NET MVC 3 응용 프로그램에서 이상한 결과를 초래합니다.

return RedirectPermanent("http://www.google.com?" + qrystring); 

이것은 구글로 리디렉션,하지만 난 매개 변수를 보지 못했다 :

내 최초의 시도는, 내가 그랬어. 나는 그것에서 조금 일하고 응용 프로그램 내에서 하나의 URL을 바꾸지 만, 가치를 얻고 싶기 때문에 전체 URL과 라우팅을 사용하고있을 것입니다. 이제 응용 프로그램을 로컬로 디버그하고 내 브레이크 포인트 위에 마우스를 놓으면 다음과 같이 표시됩니다.

"중단 점에 현재 충돌이 발생하지 않습니다.이 문서에 대한 심볼이로드되지 않았습니다."

또한 "RedirectPermanent"에 대한 호출에서 URL을 변경하더라도 항상 Google 페이지가로드됩니다.

임시 인터넷 파일 기록 &을 지워 ASPNET 사용자가 해당 폴더에 액세스 할 수 있도록했습니다. 또한 &을 다시 열어 솔루션을 재개했습니다. 또한 "RedirectPermanent"를 "Redirect"로 변경하려고 시도했지만 해결되지 않았습니다. 중단 점은 RedirectPermanent 문을 처음 사용하기 전에이 응용 프로그램에서 정상적으로 작동했습니다.

참고 : 저는 Windows XP를 실행 중이며 IIS Express (ASP.NET 개발 서버)를 사용하고 있습니다. 또한 서버 시스템과 달리 디버그 모드에서 로컬로 응용 프로그램을 실행하고 있습니다. 생각 하시겠습니까?

+0

이전 IISReset을 사용해 보셨습니까? –

+0

이것은 로컬로 개발되어 IISExpress를 사용하여 상상합니다. 내 앱을 시작하고 '중지'버튼을 클릭하면 시스템 트레이에 나타나는 아이콘을 클릭하지 않고 재설정하는 방법을 모르겠습니다. 나는이 과정을 여러 번 해봤지만 여전히 문제를 해결하지 못했습니다. – jason

+0

어떻게'qrystring' 변수를 만들고 있습니까? 그 안에 뭐가 들어 있니? 모든 값을 올바르게 인코딩 했습니까? 구문 분석기를 사용하는 대신 URL을 작성하기 위해 문자열 연결을 사용하는 것은 대개 잘못된 아이디어입니다. –

답변

3

이것은 다소 간단한 것이 었습니다.

크롬이 RedirectPermanent URL을 캐시했습니다. 디버그 심볼은 다른 초기화가 완료 될 때 응용 프로그램에서 나중에로드 될 때까지로드됩니다. Visual Studio에서 내 응용 프로그램을로드하고 사용중인 URL을 보는 크롬이 리디렉션을 수행했습니다.

나는 크롬에서 캐시를 지웠고, 프레스토는 모두 잘 작동한다.

관련 문제