2014-09-15 2 views
1

각 응용 프로그램을 개발하는 데 사용할 자체 호스팅 ServiceStack 응용 프로그램이 있습니다.ServiceStack : 자체 호스트 LiveReload가 작동하지 않습니다.

이전에는 정적 파일을 변경할 때마다 변경 사항을 적용하기 위해 모든 서비스를 다시 시작해야했습니다.

내가 누락 된 부분이 있는지 궁금합니다. RazorFormat에서 LiveReload 옵션을 사용 설정했는데 아무 것도하지 않은 것 같습니다. 변경 사항을 적용하려면 전체 애플리케이션을 다시 시작해야합니다. https://github.com/CallumVass/ServiceStackSelfHost

나는 변화가 포착이 arent Default.cshtml 파일을 변경하면 내가 서비스를 다시 시작할 때까지 :

여기 작은 생식을 만들었습니다?

답변

3

문제는 그가 소스 파일이 아닌 출력 파일을 변경 한 것입니다. SS가 파일을 /bin/debug에 복사하기 때문에 SS는 해당 버전을 변경해야했습니다.

SetConfig(new HostConfig { 
#if DEBUG 
    DebugMode = true, 
    WebHostPhysicalPath = Path.GetFullPath(Path.Combine("~".MapServerPath(), "..", "..")), 
#endif 
}); 

이 다시 소스에 /bin/debug의 우리를 데리고 다음 SS 구성을 설정하는 동안

HostConfig settings를 사용하여, 우리는, 개발하는 동안 다음과 같은 방법으로 WebHostPhysicalPath 속성을 사용 할 수 있었다.

+1

출력 DLL을'/ bin' 디렉토리에 복사하는 VS.NET입니다. 또한 더 짧은'WebHostPhysicalPath = "~ /../../"MapServerPath() "'도 작동해야합니다 .. – mythz

+1

Eli, 나는".. "를 \"\ "를".. "로 바꿨다. ".."'Windows와 Mono를 호환 가능하게 만듭니다. – Scott

+1

굉장한 고침, Scott. –

2

당신은 debug 모드로 AppHost 설정을 설정해야합니다 변경 사항은 디버그 모드에서 모니터링하는 성능상의 이유로

SetConfig(new HostConfig { 
    DebugMode = true, 
}); 

. 자세한 내용은 See here을 참조하십시오. (디버그 모드에서) 수정 전망, 레이아웃 템플릿과 파셜

자동 장전 시동 벌금을 방지하는 가장 좋은 방법은 처음에 응용 프로그램 도메인을 다시 시작하지 않도록하는 것입니다. 따라서 디버그 모드에서는 백그라운드 파일 시스템 감시자가 수정, 재 컴파일을 위해 모든 페이지, 부분 및 레이아웃 템플릿을 모니터링하고 즉시 재로드하고 페이지가 요청되면 즉각적인 응답 시간을 보충 할 준비가 된 곳에서이 작업을 수행합니다. .

+0

그냥 시도했지만 변경 사항을 받기 위해 서비스를 다시 시작해야합니다. – CallumVass

+0

매우 이상합니다. 나는 당신의 솔루션을 실행 해보고 무슨 일이 일어날지를 볼 것입니다. – Scott

+0

방금 ​​DebugMode가 추가 된 새 버전을 밀어 넣었습니다 – CallumVass

관련 문제