2013-01-23 4 views
3

하늘색 서비스 버스 요금 청구에 관한 질문이 있습니다. 다음 코드를 사용하면 오랜 시간 동안 메시지를 보내지 않으면 5 시간이됩니다.Windows Azure 서비스 버스 청구

하나의 구독 만 있고 코드는 아래와 같다고 가정합니다. 이 시나리오에서 5 시간 동안 무엇을 청구합니까? (한 번만 보내고 한 번 다운로드 할 수 있습니까, 아니면 하늘을 배경으로 구현하는 폴링 유지에 대한 요금이 부과됩니까?)

enter code here 
    var subscriptionClient = SubscriptionClient.CreateFromConnectionString(ConnString, topic, subscriptionName); 
      while (true) 
      { 

       var message = subscriptionClient.Receive(); 
       if (message != null) 
       { 
        try 
        { 
         message.Complete(); 


        } 
        catch (Exception) 
        { 
         // Indicate a problem, unlock message in subscription 
         message.Abandon(); 
        } 
       } 
       else 
       { 
        Console.WriteLine("null message received"); 
       } 
       Thread.Sleep(25); 
      } 

답변

1

을 수신 호출이 반환 될 때마다 (결과가 null 인 경우에도) 단일 메시지에 대해 요금이 부과됩니다. 수신 호출의 기본 제한 시간은 60 초이므로 5 시간 동안 메시지가없는 경우 코드가 1 분마다 반환 된 다음 25 초 동안 대기하므로 시간당 48 개의 메시지 (1 분 시간 초과 및 25 초 대기). 시간 초과가 걸리는 Receive의 오버로드를 호출하고 거기에서 5 시간 제한을 전달할 수 있습니다. 연결이 5 시간 동안 지속되기 전에 연결이 유지되고 그 시간 동안 요금이 부과되지 않습니다.

엔벨로프 계산의 뒤에서 : 1 분 수신자가 기다리지 않고 실제 메시지가없는 1 분 제한 시간으로 실행하면 매분마다 요금이 부과됩니다. 전체 월간 5 센트 미만입니다. 청구 계산 도구를 참조하십시오 here

+0

"subscriptionClient.Receive (TimeSpan.MaxValue);"를 사용하고 있습니다. 그 구독에 어떤 메시지도 보내지 않으면 연결은 바로 KeptAlive 여야합니다. 하지만 시간이 지나면 Null 메시지가 나타납니다. 연결이 얼마나 오래 유지되는지 알고 싶습니다 ... – NavaRajan

+0

@Abhishek Lal, 5 시간 동안 계속 살아야하는 불이익이 있습니까? (분명히 많은 구독자가있을 경우 비용이 많이 들지 않습니다. 분당 한 번이 아니라 5 시간마다 한 번만 null 메시지가 반환되었습니다. – DermFrench

+0

아무런 단점도 없습니다. 전화를 끊을 수 없으므로 요청을 종료하거나 닫으려는 경우 해당 기간 동안 해당 제어가 사용자에게 반환되지 않습니다. –

1

만 메시지 트랜잭션 (수신, 전송) ... 푸른이 ... 킵 얼라이브 메시지를 충전하지 계산됩니다

MSDN 항목을 참조하십시오 : 당신이 얻을 것이다 위의 코드에서 http://msdn.microsoft.com/en-us/library/hh667438.aspx#BKMK_SBv2FAQ2_1

+0

링크에서 계속 표시되지 않는 것을 확인할 수 없습니까? – DermFrench

+0

@DermFrench [서비스 버스 연결 (Service Bus Connections)] 과금 측정기는 어떻게 되었습니까? (http://msdn.microsoft.com/en-us/library/hh667438.aspx#BKMK_SBv2FAQ2_6) 2 백만 릴레이 시간으로 제한됩니다. – JMK

+0

@DermFrench 참조 msdn (http://social.msdn.microsoft.com/Forums/en-US/windowsazureconnectivity/thread/53a766d7-47b8-48d8-b594-7ac7e2275bc5/) ... 저는 이전에 똑같은 질문을 받았고 Microsoft의 서비스 버스 PM 인 ClemensV의 대답을 받았습니다 ... – NavaRajan

관련 문제