2013-06-25 3 views
1

나는이 내 푸른 웹 역할 배포에 다음과 같은 구성 :가상 응용 프로그램 RoleEnvironment.IsAvailable있다 == 거짓 하룻밤

<WebRole name="FrontOffice" vmsize="Small"> 
    <Sites> 
    <Site name="Web"> 
     <VirtualApplication name="mag_admin" physicalDirectory="../../Sites/BackOffice" /> 
     <Bindings> 
     <Binding name="EndpointFrontOffice" endpointName="EndpointFrontOffice" /> 
     </Bindings> 
    </Site> 
    </Sites> 
    <Endpoints> 
    <InputEndpoint name="EndpointFrontOffice" protocol="http" port="80" /> 
    </Endpoints> 

이다하는 FrontOffice MVC 3 웹 응용 프로그램과의 BackOffice MVC 3 웹 응용 프로그램을 가상 디렉터리 (VirtualApplication)에 저장합니다.

몇 주 전에 SDK 2.0으로 업그레이드했지만 몇 가지 중요한 변경 사항이 있으므로 StorageClient 1.7에 머물렀습니다. 잠시 동안 모든 것이 괜찮았다.

지난 월요일에 "msshrtmi.dll"1.7 파일이 없기 때문에 모든 갑작스런 (그리고 나는 아무 것도 변경하지 않도록 소스 제어를 확인하고 이중 검사) BackOffice가 작동을 멈췄습니다. 나는 그것이 GAC에 있다고 생각하지만 (실제로는 내 컴퓨터에서) Azure 호스트에서 실제로 누락되었습니다 (2.0 만 존재). 내 웹 응용 프로그램 참조에 DLL을 추가하고 작동했습니다.

하지만 지금은 ... connectionString이 잘못되어 동일한 웹 응용 프로그램이 SQL Server에 연결할 수 없다는 불만이 있습니다. 이상하게도 Azure ServiceConfiguration을 조사 할 때 web.config를 조사합니다. RoleEnvironment.IsAvailable이 true를 반환하는지 확인하는 connectionString 공급자가 있는데,이 경우 ServiceConfiguration에서 connectionString을 가져옵니다. BackOffice의 경우 false를 반환합니다. FrontOffice에서는 모든 것이 잘 작동합니다.

이번 주 갑작스러운 행동을 설명 할 수있는 지난 주말에 Azure에 약간의 변경이 있었는지 아는 사람이 있습니까?

+2

응용 프로그램을 재배포 했습니까? 즉 이미 VM이 아닌 새로운 VM이 할당 되었습니까? – Lukos

+0

그래, 새로운 VM으로 옮겼다 고 생각해. 나는 12 번이나 재발행했다. Azure 포털에서 노드를 제거하고 다시 만들려고하지 않았습니다. 나는 IP 주소를 잃어 버릴지라도 나는 그것을 할 수 있었지만 아직 생산이 아니다. – user1174017

+0

Azure가 보낸 메일에서 최근에 Windows Server의 이전 버전을 버리고 새로운 배포가 서버 2012 또는 기타에있을 것이라는 메시지를 보았 기 때문에 궁금합니다. 따라서 최신 빌드에는 이전 버전에 필요한 라이브러리가 누락되었을 가능성이 큽니다. Azure SDK는 많은 변화가 있었기 때문에 약간의 고통을 겪었지만 개인적으로, 최근에 Azure SDK를 제거하고 다시 설치했습니다. (v2) 모든 것이 정상적으로 보입니다. – Lukos

답변

2

나는 결국 어떤 일이 일어 났는지 이해합니다.

Azure SDK 2.0으로 업그레이드했을 때 Azure 웹 역할 프로젝트 만 업데이트되었으며 SDK 1.7 DLL을 계속 참조하는 웹 응용 프로그램 프로젝트는 업데이트하지 않았습니다.

아무도 눈치 채지 못하고 잠시 근무했습니다. Lukos가 맞을 것 같습니다. Microsoft는 VM을 일부 변경했으며 GAC에는 현재 2.0 용 DLL 만 포함됩니다 (2.0 배포 이후).

필자는 웹 응용 프로그램 (DLL 전환)에 필요한 변경을가했지만 이제는 모든 것이 잘됩니다.