0
我在单例远程处理对象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函数只是从数据库表中读取一行并将这些字段复制到一个小数据结构中。
问题
- 这是多线程的代码安全(在远程环境)
- 是否有不同的代码