2015-09-15 3 views
0

Я пытаюсь создать QueueClient и увеличить его тайм-аут от 60 секунд по умолчанию. Когда я создаю клиента из ConnectionString, он работает нормально, но я не могу настроить время. Когда я создаю клиента с помощью фабрики См. Код ниже. Я получаю следующее исключение таймаута. Может ли кто-нибудь сказать мне, что я пропустил или просто не сделал.Установка времени ожидания очереди служебной шины

{ «Требование истекло после 00:00:00 миллисекунд. Успешное завершение запроса не может быть определена. Дополнительные запросы должны быть сделаны, чтобы определить, является ли или не удалось операция.»}

строка соединения, которая работает Endpoint = SB: //xxxx.servicebus.windows.net/; SharedAccessKeyName = политика; SharedAccessKey = ключ

Код:

MessagingFactorySettings settings = new MessagingFactorySettings 
     { 
     OperationTimeout = TimeSpan.FromSeconds(120), 
     TokenProvider = TokenProvider.CreateSharedSecretTokenProvider("policy", "key") 
     }; 

     var address = ServiceBusEnvironment.CreateServiceUri("sb", "xxxx.servicebus.windows.net", string.Empty); 

     var messagingFactory = MessagingFactory.Create(address, settings); 

     QueueClient result = messagingFactory.CreateQueueClient(queueName); 

     result.RetryPolicy = new RetryExponential(TimeSpan.Zero, TimeSpan.FromMilliseconds(1000), 5); 
     return result; 

ответ

1

вы используете ключи ACS или SAS? Из вашей строки подключения это похоже на SAS, поэтому вместо этого вы, вероятно, захотите использовать CreateSharedSecretTokenProvider. Как в

Аккаунты TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider (sasKeyName, sasKeyValue);

+0

Спасибо! это сделало это для меня – MCS

Смежные вопросы