내보내기(0) 인쇄
모두 확장

역할 재활용의 원인이 되는 일반적인 문제

업데이트 날짜: 2014년 1월

이 섹션에서는 배포 문제의 일반적인 원인 중 일부를 나열하고 문제 해결에 도움이 되는 문제 해결 팁을 제공합니다. 역할 인스턴스가 시작되지 않거나 초기화 중, 사용 중 및 중지 중 상태를 순환하는 경우는 응용 프로그램에 문제가 있음을 나타냅니다.

누락된 런타임 종속 항목

응용 프로그램의 역할이 .NET Framework 또는 Windows Azure Managed Library의 일부가 아닌 어셈블리를 사용하는 경우 해당 어셈블리를 응용 프로그램 패키지에 명시적으로 포함해야 합니다. 기본적으로 Windows Azure에서는 다른 Microsoft 프레임워크를 사용할 수 없음에 유의하십시오. 역할이 이러한 프레임워크를 사용하는 경우에는 해당 어셈블리를 응용 프로그램 패키지에 추가해야 합니다.

응용 프로그램을 빌드하고 패키지하기 전에 다음을 확인하십시오.

  • Visual Studio를 사용 중인 경우 Windows Azure SDK 또는 .NET Framework의 일부가 아닌 프로젝트의 각 참조된 어셈블리에 대해 로컬 복사 속성이 True로 설정되어 있습니다. Visual Studio를 사용하지 않는 경우에는 CSPack을 호출할 때 참조된 어셈블리에 대한 위치를 지정해야 합니다. CSPack을 사용하는 방법은 CSPack 명령줄 도구를 참조하십시오.

  • web.config 파일은 compilation 요소의 사용되지 않는 어셈블리를 참조하지 않으며, 모든 참조는 .NET Framework나 Windows Azure SDK의 일부이거나, Visual Studio에서 로컬 복사 속성이 True로 설정되었거나, CSPack을 실행하여 응용 프로그램 패키지에 포함된 어셈블리를 가리킵니다.

  • 각 .cshtml 파일의 Build ActionContent로 설정되어 있습니다. 이렇게 설정되어 있으면 파일이 패키지에 올바르게 나타나고 다른 참조된 파일이 패키지에 나타날 수 있습니다.

어셈블리가 잘못된 플랫폼을 대상으로 함

Windows Azure는 64비트 환경입니다. 따라서 32비트를 대상으로 컴파일된 .NET 어셈블리는 Windows Azure에서 작동하지 않습니다.

초기화하거나 중지하는 동안 역할에서 처리되지 않은 예외를 throw함

OnStart, OnStopRun이 포함된 RoleEntryPoint 클래스의 메서드에서 throw하는 모든 예외는 처리되지 않은 예외입니다. 이러한 메서드 중 하나에서 처리되지 않은 예외가 발생하면 역할이 재활용됩니다. 역할이 반복적으로 재활용되면 시작하려고 할 때마다 처리되지 않은 예외를 throw할 수 있습니다.

Run 메서드에서 역할 반환

Run 메서드는 무기한 실행되도록 설계되었습니다. 코드에서 Run 메서드를 재정의하면 Run 메서드는 무한 대기 상태가 됩니다. Run 메서드가 반환되면 역할이 재활용됩니다.

올바르지 않은 DiagnosticsConnectionString 설정

응용 프로그램에서 Windows Azure 진단을 사용하는 경우 서비스 구성 파일은 DiagnosticsConnectionString 구성 설정을 지정해야 합니다. 이 설정은 Windows Azure의 저장소 계정에 대한 HTTPS 연결을 지정해야 합니다.

응용 프로그램 패키지를 Windows Azure에 배포하기 전에 DiagnosticsConnectionString 설정이 올바른지 확인하려면 다음을 확인하십시오.

  • DiagnosticsConnectionString 설정이 Windows Azure의 올바른 저장소 계정을 가리킵니다. 기본적으로 이 설정은 에뮬레이트된 저장소 계정을 가리키므로 응용 프로그램 패키지를 배포하기 전에 이 설정을 명시적으로 변경해야 합니다. 이 설정을 변경하지 않으면 역할 인스턴스에서 진단 모니터를 시작하려고 할 때 예외가 throw됩니다. 이로 인해 역할 인스턴스가 무기한 재활용될 수 있습니다.

  • 연결 문자열이 다음의 형식으로 지정되었으며 프로토콜은 HTTPS로 지정되어야 합니다. MyAccountName을 저장소 계정의 이름으로 바꾸고 MyAccountKey를 자신의 액세스 키로 바꿉니다.

    DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=MyAccountKey
    
    연결 문자열 사용에 대한 자세한 내용은 Windows Azure 연결 문자열 구성을 참조하십시오.

Windows Azure Tools for Microsoft Visual Studio를 사용하여 응용 프로그램을 개발할 때는 속성 페이지를 사용하여 이 값을 설정할 수 있습니다. Visual Studio를 사용하여 구성 값을 설정하는 방법은 Configuring the Cloud Service을 참조하십시오.

내보낸 인증서에 개인 키가 포함되지 않음

SSL에서 웹 역할을 실행하려면 내보낸 관리 인증서에 개인 키가 포함되었는지 확인해야 합니다. Windows 인증서 관리자를 사용하여 인증서를 내보내려면 예, 개인 키를 내보냅니다. 옵션을 선택해야 합니다. 인증서는 현재 지원되는 유일한 형식인 PFX 형식으로 내보내야 합니다.

참고 항목

표시:
© 2015 Microsoft