Я разрабатываю библиотеку классов в .NET, которая использует Amazon AWS SDK для отправки уведомлений с помощью Amazon SNS, а также для создания новых мобильных конечных точек. Вы можете сделать это, делая запросы с клиентским объектом, который вы создаете, как это:Является ли AmazonSimpleNotificationServiceClient поточно-безопасным?
var client = new AmazonSimpleNotificationServiceClient(...);
...
где вы бы указать учетные данные AWS, в различных направлениях.
Вместо того, чтобы повторно создавать объект client
каждый раз, когда я размещаю уведомление или отправляю какое-то другое действие Amazon, я бы просто создал статическую версию объекта client
и каждый из моих методов использовать его.
Эти методы в моей библиотеке классов могут работать в среде, где они вызываются несколькими потоками, или, в случае использования в ASP.NET, могут быть вызваны из нескольких веб-подключений в пуле приложений сразу ,
Являются ли AmazonSimpleNotificationServiceClient и его методы считаются потокобезопасными? Кто-нибудь видит проблему с тем, как я использую статический объект таким образом? Есть ли лучший способ сделать это, сохраняя при этом эффективность отсутствия необходимости создавать экземпляр нового объекта каждый раз, когда я взаимодействую с SNS? (В конце концов, можно было бы ожидать много объема уведомления толчка направляется с использованием некоторых из этих методов.)