2013-01-19 4 views
1

ServiceStack 면도기가있는 ServiceStack 프로젝트가 있습니다. 언제든지 사이트의 루트를 탐색하고/metadata로 리디렉션됩니다.ServiceStack 항상 기본값 Default.cshtml이있는 경우에도/metadata로 리디렉션

내 호스트 환경 (AppHarbor)에서만 내 dev 컴퓨터에서 발생하지 않습니다.

저는 프로젝트의 루트에 Default.cshtml이 있습니다. 다른 URL을 탐색

잘 작동 : /default1.cshtml/myservicewithviews

내 AppHost에서 DefaultRedirectPath 덤비는 시도했다, 그러나 그것은 도움이되지 않았다.

강제로 시도하면 리디렉션 루프가 발생합니다. DefaultRedirectPath = "default.cshtml" 어떤 의미가 있습니다.

이 문제의 원인은 무엇입니까?

답변

2

AppHarbor은 프로젝트를 빌드 할 때 "콘텐츠"라고 표시된 파일 만 게시합니다. (AppHb FAQ). 이 파일은 표시된 콘텐츠가없는 유일한 파일이었고 호스팅 환경에서이 문제를 경험하고 다른 모든 콘텐츠에 액세스 할 수 있었던 이유는 무엇입니까? shown around here

또 다른 주목할만한 점은 AppHarbor의로드 밸런서가 응답 리디렉션 같은 일을 수행 할 때 ServiceStack URL을에 표시하는 내부 포트 번호를 일으키는 것입니다 - 기본 문서를 감지

되지 않음/메타 데이터에 RedirectHttpHandler을 설정 ServiceStack 원인 .

이 문제를 해결하려면, 당신은 당신의 Web.config에 다음을 추가 :

<appSettings> 
    <!-- AppHarbor Setting to stop AppHb load balancer internal port numbers from showing up in URLs--> 
    <add key="aspnet:UseHostHeaderForRequestUrl" value="true" /> 
</appSettings> 

당신은 또한 당신의 AppHarbor의 설정 패널에서이 설정을 구성 할 수 있습니다.