Срок службы компонентов Azure .NET (CloudQueueClient, CloudQueue и т. Д.)

Если я добавляю элементы очереди Windows Azure или ссылки на хранилище BLOB-объектов из приложения MVC с помощью .NET SDK, как долго должен оставаться каждый компонент?

Для очередей у ​​нас есть CloudStorageAccount, CloudQueueClient и CloudQueue.

Для хранилища больших двоичных объектов у нас есть CloudStorageAccount, CloudBlobClient и CloudBlobContainer.

Я предполагаю, что было бы лучше создавать каждый компонент один раз для каждого веб-запроса, но сейчас не знаю, насколько дорого обходится создание каждого элемента. Опять же, я предполагаю, что удержание клиентов между веб-запросами с использованием, например, одноэлементного времени жизни не было бы хорошим планом, но им нечего делать.


person Paul Hiles    schedule 15.08.2012    source источник


Ответы (1)


Эти .NET-объекты легковесны. Ни один из них не будет выделять ресурсы или выполнять сетевые операции, просто будучи созданным. Обычно не стоит тратить силы на их кэширование или объединение, если только вы не создадите их достаточно много.

Мы даже не пытаемся кешировать их для отдельных запросов - мы просто создаем их по мере необходимости и выбрасываем. Их кеширование может снизить нагрузку на сборщик мусора, но я сомневаюсь, что это будет много.

person Brian Reischl    schedule 15.08.2012
comment
Откуда вы знаете, что они легкие ... Это где-нибудь задокументировано? - person John; 27.06.2015
comment
Может быть, но если это так, я не могу сказать вам, где это прямо у меня в голове. Это тоже была полная мажорная версия назад, так что теперь это может быть не так. Я бы посоветовал взглянуть на исходный код, так как сейчас он открыт. - person Brian Reischl; 01.07.2015
comment
В основных условиях asp.net, вы бы использовали AddTransient CloudStorageAccount? (Вместо singleton или scoped) - person Ciantic; 04.08.2016
comment
Я не очень хорошо знаком с ядром ASP.Net, но после краткого прочтения этих документов я думаю, что будет разумным либо временный, либо ограниченный. - person Brian Reischl; 05.08.2016
comment
Отличный ответ, именно то, что я искал, и ТОЧНО то, что ДОЛЖНО быть в документации. - person pomeroy; 11.10.2017