문제

이 Azure Cloudservice를 실행하고 있습니다.

안전한 방식으로 ServiceBus를 활용할 수 있도록이 블로그 게시물의 조언을 구현했습니다. http://blogs.msdn.com/b/clemensv/archive/2012/07/30/transactions-in-windows-azure-with-service-bus-an-email-discussion.aspx

데이터베이스 테이블을 지속적으로 폴링하는 대신 데이터베이스를보고 메시지를 보내기 위해 배경 프로세스를 트리거하기 위해 큐에 메시지를 보냅니다.

그러나 물론 이것은 단독으로 안전하지 않을 것이므로 정기적으로 데이터베이스를 일정에 따라 정기적으로 확인하여 아무것도 놓치지 않았습니다.

그러나 여러 인스턴스를 실행하기 때문에이 일정을 더 효율적으로 만들기 위해 인스턴스 이름에서 마지막 정수를 가져 와서이 일을 할 수 있다고 생각했습니다. Microsoft.windowsazure.serviceruntime.roleenvironment.currentroleinstance.id를 사용 하여이 번호를 얻는 방법을 알고 있습니다

그러나 총 인스턴스 수를 얻는 방법을 모르겠습니다. 일정을 똑같이 전파하려면 필요합니다.

Azure의 Management API를 사용하지 않고 이것을 얻는 방법을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

노력하다 Role.Instances 재산. 다음은 모든 인스턴스를 찾기 위해서만이 페이지의 코드입니다.

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
{
   Trace.WriteLine("Instance ID: " + roleInst.Id);    
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top