我在我的 vb.net 网络应用程序中使用上述库。开发snowmaker的人说你不应该每次想要一个ID时都创建一个新实例,你应该使用一个基本的单例。
我知道单例是什么,但从未使用过它们。我在堆栈溢出时遇到过这个
Public NotInheritable Class MySingleton
Private Shared ReadOnly _instance As New Lazy(Of MySingleton)(Function() New
MySingleton(), System.Threading.LazyThreadSafetyMode.ExecutionAndPublication)
Private Sub New()
End Sub
Public Shared ReadOnly Property Instance() As MySingleton
Get
Return _instance.Value
End Get
End Property
End Class
这是我用来生成 ID 的代码
Dim storageAccount As CloudStorageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings("blobStorage").ConnectionString)
Dim ds As New BlobOptimisticDataStore(storageAccount, "container-name")
Dim generator = New UniqueIdGenerator(ds)
Dim ret = generator.NextId(table)
哪个有效,但是我如何将它合并到单例类中,以便我只从我的网络应用程序中调用它一次?