나는 다음과 같은 배포 요구 사항과 ASP.NET MVC 응용 프로그램이 있습니다고급 ASP.NET MVC 라우팅 시나리오
의 URL 구조는 같은 수 있어야합니다
http://server/app/[enterprise]/[communinty]/ {컨트롤러}/{동작} /. ..
MVC 라우트 핸들러가 손을 잡기 전에 URL을 가로 채고 [enterprise]/[community] 파트를 제거한 다음 MVC가 다음과 같이 처리를 계속할 수있게하려고한다고 생각합니다. 원래 URL에이 두 세그먼트가 포함되어 있지 않은 경우
응용 프로그램이 여러 고객 (기업) 여러 포털을 노출하고, 기업 내 각 지역 사회가 자신의 사용자 인구가 왜
는 여기에 있습니다. 이러한 종류의 구성표는 각 응용 프로그램 인스턴스 (바이너리, 콘텐츠, web.config)를 각 [community] 디렉토리에 물리적으로 배포하여 제공 할 수도 있지만 병참 및 성능상의 이유로이 경로를 사용하지 않을 것이라고 생각하지 않습니다. 그래서 라우팅 트릭을 통해 가상화하려고합니다.
이 계획이나 다른 해결책에 대한 제안 사항에 대한 제안은 만족 스러울 것입니다.
IIS 7에서 어떤 차이가 있는지 확인합니다.
사람들은'http : // server/app/MyCompany/FightingDogs/Home/Index'를 방문한 다음 MyCompany/FightingDogs를 추출하여 URL에 http : // server/app/Home/Index '? (세션이나 쿠키에서 MyCompany/Fightingdocs에 대한 참조를 저장한다고 가정합니다.) – jao
정확하게는 아닙니다.브라우저에서 볼 수있는 URL을 http : // server/app/MyCompany/FightingDogs/Home/Index로 유지하고 싶지만 MVC 컨트롤러/모델/etc가 "MyCompany/FightingDogs"부분에 대해 알아야하는 것은 원하지 않습니다. . – jlew
라우팅을 사용하지 말고 로그인 할 때 현재 사용자의 엔터프라이즈 및 커뮤니티를 세션에 저장하는 것이 더 합리적입니까? 각 사용자 그룹마다 고유 한 URL을 문서에 포함시키는 것이 어려울 것이라고 생각합니다. – Ryan