我在.NET中开发一个类库,它使用Amazon AWS SDK将通知与Amazon SNS排队,以及创建新的移动推送端点。您可以通过使用您创建的客户端对象发出请求来执行此操作:
var client = new AmazonSimpleNotificationServiceClient(...);
...
是您以各种方式指定AWS凭据的地方。
我不是在每次排队通知或向亚马逊发送其他动作时重新创建client
对象,而是想创建{{{的静态版本1}} object,让我的每个方法都使用它。
我的类库中的这些方法可能在多个线程调用它们的环境中运行,或者在我们在ASP.NET中使用它的情况下,可以立即从应用程序池中的多个Web连接调用。
AmazonSimpleNotificationServiceClient及其方法是否被认为是线程安全的?有没有人看到我以这种方式使用静态对象的方式有问题?有没有更好的方法来做到这一点,同时保持每次我与SNS交互时不必实例化新对象的效率? (最终我们希望使用其中一些方法发送大量推送通知。)
答案 0 :(得分:3)
AWS SDK for .NET最着名的方面是可用于与AWS交互的各种服务客户端。客户端对象是线程安全的,一次性的,可以重复使用。