2013-11-03 2 views
0

Azure 웹 사이트에서 호스팅되는 MVC 앱이 있습니다.게시 중에 IIS 오류가 표시되는 동안 Azure 웹 사이트 방문

나는 (게시하지 않을 때) 사용자 지정 오류를 활성화하고 작업이 있습니다

<customErrors mode="On" defaultRedirect="~/Error/NotFound" xdt:Transform="Replace"> 
    <error redirect="~/Error/NotFound" statusCode="404" /> 
    <error redirect="~/Error/NotFound" statusCode="403" /> 
</customErrors> 

나는 DLL을 업데이트하는 동안 사이트를 방문하려고하면 내가 비주얼 스튜디오에서 웹 사이트를 게시, 내가 얻을 불쾌한 IIS 오류.

Azure가이 시나리오를 피하기 위해 게시가 완료 될 때까지 새 버전을 "묶어 두지"않는다는 사실에 놀랐습니다. 이 "순간 스위치"동작을 달성 할 수있는 방법이 있습니까?

및/또는 -이 오류가 표시되지 않도록하려면 어떻게해야합니까?

+0

"이상한 오류"에서 메시지가 표시 한 내용은 무엇입니까? –

+0

@Fabrizio - dll이 누락되어 게시하는 동안 새로 고침에서 다음 새로 고침으로 변경됩니다. 이것은 고 가용성 및 Azure 웹 사이트가 잘 맞지 않는다는 것을 말해줍니다. – SB2055

답변

0

나는 이것이 드문 경우는 말할 수 없다. 배포 크기에 따라 IIS가 다시 시작되고 다시로드되어 503 개의 서비스를 사용할 수 없거나 유사한 오류가 발생하는 동안 시간이 걸릴 수 있습니다. CustomErrors는 ASP.Net 파이프 라인에이 시점에서 도달하지 않았으므로 여기서 도움이되지 않습니다. 어떤 Azure 웹 사이트 레벨 (Free, Shared 또는 Standard?)에서 실행하고 있습니까? 인스턴스의 크기를 늘려서 다시 시도해보십시오.

0

배포가 너무 느립니다. IIS는 dll 파일의 변경을 감지하고 다른 dll 파일을 기다리지 않고 자동으로 app-pool을 다시 시작합니다.
web.config의 waitChangeNotification 및 maxWaitChangeNotification에 사용자 정의 값을 설정하십시오. 이렇게하면 IIS에 app-pool을 다시 시작하기 전에 몇 초 동안 기다리라고 요청할 수 있습니다. Azure에서 작동하는지 확실하지 않습니다. 온 - 프레미스 IIS에서 필자는 긴 배포 (약 5 초)를 수행 할 수있는 사용자 지정 값을 사용합니다.
문서 : http://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx