2017-12-08 16 views
1

저는 응용 프로그램 내에서 Microsoft Orleans 프레임 워크를 사용해 왔으며 지금은 Azure에 배포하려고합니다. 익숙하지 않은 경우 Orleans는 가상 액터 프레임 워크로, Silence라는 서버를 노출시켜 코드가 인스턴스화되고 일정 시간 동안 유휴 상태가 될 때까지 메모리에 보관 된 다음 언로드됩니다. 내 WebApi 응용 프로그램은 클라이언트 역할을 수행하며 Orleans 사일로에 연결됩니다.동일한 응용 프로그램 서비스 내의 응용 프로그램에서 Azure Webjob에 연결

저는 Azure App Service에서 WebApi 응용 프로그램을 배포했으며 동일한 App Service 내에서 Silo를 실행하는 연속적인 webjob을 만들었습니다. 그러나 WebApi 클라이언트가 Silo에 연결을 시도하면 로그에 "연결할 수 없음"오류 (TCP를 통한 시도)가 표시됩니다.

어쩌면 응용 프로그램 서비스에 가상 네트워크를 연결할 필요가 있었지만 문제가 해결되지 않았고 (동일한 로그 메시지) 생각 나는 것처럼 보였습니다. 추가 할 필요가 있음을 나타내는 내용이 표시되지 않습니다. 가상 네트워크에 webjobs.

네트워크를 통해이 두 응용 프로그램을 서로 연결할 수 있습니까?

+0

Azure 서비스 패브릭을 사용하여 Orleans 응용 프로그램을 호스팅 해 보았습니까? – Baskar

+0

@baskar 그렇지 않습니다. 그걸 살펴 보겠습니다. – aasukisuki

답변

2

메인 사이트는 'scm 사이트'에서 실행되는 WebJob과는 다른 샌드 박스에서 실행됩니다. scm 사이트가 Main 사이트와 통신 할 수 있도록 설정되어 있지만, 그 반대는 아닙니다. 이것은 당신을 여기에서 막을 수 있습니다.

Azure App Settings가 동일한 샌드 박스 (doc 참조)에서 실행되도록하려면 WEBSITE_DISABLE_SCM_SEPARATION=true으로 설정해보십시오. 기술적으로 더 이상 공식적으로 지원되는 모드는 아닙니다. 그래도 도움이되는지 테스트하는 것은 흥미로울 것입니다.

+0

완벽하게 작동했습니다. 더 이상 기술적으로 지원되지 않으므로 앞으로이 작업을 수행하는 더 좋은 방법이 있는지 알고 계십니까? – aasukisuki

+0

Orleans에 익숙하지는 않지만 WebAPI 자체가 Silo 프로세스 자체를 시작할 수 있습니다. (시작될 때) 나중에 대화 할 수있게됩니다. 어쩌면 이상적이지 않을 수도 있고 다른 아이디어가있을 수도 있습니다. –