Public ReadOnly Property MyProperty As List(Of MyType)
Get
Using service As New MyDatabaseService
Return service.GetMyTypeList()
End Using
End Get
End Property
因为这个服务需要到数据库的往返,所以我想缓存结果,以便在同一页生命周期内(不需要ViewState)进行将来的访问。我知道可以这样做:
Private Property _myProperty As List(Of MyType)
Public ReadOnly Property MyProperty As List(Of MyType)
Get
If _myProperty Is Nothing Then
Using service As New MyDatabaseService
_myProperty = service.GetMyTypeList()
End Using
End If
Return _myProperty
End Get
End Property
现在是问题:有没有任何方法可以通过一个属性来利用缓存,“自动”缓存这个属性的输出,而不必显式地声明、测试和设置缓存对象,如图所示?