シングルトンリモートオブジェクトMBROで次のコードを使用しています。この関数はサーバー側でのみ呼び出されます。リモートキャッシュオブジェクト
''' <summary>
''' Return a cached DataCentricObject
''' </summary>
''' <created_by>CodingBarfield</created_by>
''' <date>04-08-2011</date>
Function DataCentricObjectName(ByVal intID As Integer) As String
Try
SyncLock dictDataCentricObject
If Not dictDataCentricObject.ContainsKey(intID) Then
Dim st As struct = dcLoader.LoadRecord(intID)
dictDataCentricObject(intID) = st.Descript
End If
Return dictDataCentricObject(intID)
End SyncLock
Catch ex As Exception
Throw New Exception("Error in GetTargName", ex)
End Try
End Function
Private dictDataCentricObject As New Dictionary(Of Integer, String)
Dim dcLoader As New DataCentricObject
LoadRecord機能は、単に少しデータ構造にデータベーステーブルとコピーフィールドからラインを読み出します。
質問
- は
- (リモート環境での)安全なマルチスレッド、このコードされた別のコードのいずれかのパフォーマンス上の利点は、それが
dcLoader.LoadRecord
が何をするかに依存し