Public Shared Function GetProductList() As List(Of Product)
Dim clsProductList As List(Of Product) = New List(Of Product)
Dim clsProduct As Product
Dim ds As New DataSet()
Dim dt As DataTable
' DataTableがキャッシュされているか?
If HttpContext.Current.Cache(productList) IsNot Nothing Then
' キャッシュからDataTableを生成する
dt = CType(HttpContext.Current.Cache(productList), DataTable)
Else
' Books.xmlファイルを読み込んでDataTableに格納する
ds.ReadXml( _
HttpContext.Current.Server.MapPath("~\App_Data\books.xml"))
dt = ds.Tables(0)
' DataTableをキャッシュする
HttpContext.Current.Cache.Insert( _
productList, dt, Nothing, _
DateTime.Now.AddMinutes(20), TimeSpan.Zero)
End If
' DataTableのRowsコレクションからDataRowを取得して
' Productクラスに格納する
For Each dr As DataRow In dt.Rows
clsProduct = New Product
clsProduct.ID = dr("id")
clsProduct.Header = dr("header")
clsProduct.Title = dr("title")
clsProduct.Abstract = dr("abstract")
clsProduct.Price = dr("price")
clsProduct.LargeImage = dr("largeimage")
clsProduct.SmallImage = dr("smallimage")
clsProductList.Add(clsProduct)
Next
' Listコレクションを返す
Return clsProductList
End Function
public static List<Product> GetProductList()
{
List<Product> clsProductList = new List<Product>();
Product clsProduct = default(Product);
DataSet ds = new DataSet();
DataTable dt = default(DataTable);
<ComponentModel.DataObjectMethodAttribute( _
ComponentModel.DataObjectMethodType.Select, True)> _
Public Shared Function GetProductList() As List(Of Product)
Return ProductManagerDB.GetProductList()
End Function