2010-06-14 3 views
1

우리 팀은 ASP.NET 3.5에서 ASP.NET 4.0으로 업그레이드 중입니다. 현재 Helicon ISAPI 다시 쓰기를 사용하여 http://localhost/<account-name>/default.aspxhttp://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>으로 매핑합니다. 여기서 <account-name>은 쿼리 문자열 변수이고 <virtual-directory>은 자연스러운 가상 디렉터리입니다. ASP.NET 틸드 (~)로 ISAPI 다시 쓰기 경로 유지

이전하여 (내가하고 싶은) http://localhost/<account-name>/...에 해결 물결표 (~) 이후를 업그레이드하여 <account-name> 쿼리 문자열이 필요하기 때문에 오류가 발생 http://localhost/<virtual-directory>/...에 물결표 결의를 업그레이드합니다.

Google 시스템에 상대 경로 대신 전체 URL을 사용하는 몇 가지 기능이 있기 때문에 모든 경로를 상대 경로로 대체하지 않으려합니다.

Windows 7에서는 IIS7을, ASP.NET 4.0에서는 Visual Studio 2010을 사용하고 64 비트 Helicon ISAPI 다시 쓰기는 가치가 있습니다. 다시 ASP.NET 3.5 버전으로 전환하면 여전히 잘 작동합니다 (4.0 응용 프로그램 풀 내에 있지 않으면 IIS에서 변경된 사항이 없어야합니다.) 3.5와 4.0 사이를 앞뒤로 전환하면 응용 프로그램 풀을 변경해야합니다. IIS에서).

아이디어가 있으십니까? 미리 감사드립니다!

답변

1

IIS 7은 정상적인 http 리디렉션을 지원합니다. 그래서 당신은 더 이상

http://technet.microsoft.com/en-us/library/cc732969(WS.10).aspx

다른 방법으로 HTTP 모듈 리디렉션을 사용하는 것입니다 ISAPI를 사용하여 주위에 그 ISAPI 필터를 사용하지 않아도됩니다.

http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx

+0

감사합니다. 안타깝게도 우리 팀에는 여전히 일부 개발자와 IIS6을 사용하는 일부 서버가 있으므로 업그레이드하기 전에는 Helicon ISAPI를 사용해야 할 것입니다. – Adam

+0

흠 .. 좋아. HTTP 모듈 방식을 포함하도록 내 대답을 편집 –

+0

고마워! 헬리 콘을 고수하고 모든 재 작성을 마이그레이션하고 테스트 할 필요가 없습니다. 그러나 HTTP 모듈 리디렉션을 사용할 수 있다는 것을 알면 좋습니다. 또한 근본적인 문제가 무엇인지 궁금합니다. 어쩌면 .NET 4.0은 Helicon과 잘 어울리지 않을 것입니다 ... 그렇다면 HTTP Module Redirect가 길을가는 것처럼 들립니다. – Adam

관련 문제