首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

ASP.NET应用中缓存Oracle数据

  以下是引用片段:

  Dim onRemove As CacheItemRemovedCallback = Nothing

  onRemove = New CacheItemRemovedCallback(AddressOf RemovedCallback)

  监听事件处理方法RemovedCallback负责处理数据库触发器的通知,其定义如下。若缓存项失效,可用数据库方法调用getRecordFromdatabase()从数据库取出数据。参数“key”指从缓存中删除的项的索引位置。参数“value”指从缓存中删除的数据对象。参数"CacheItemRemovedReason"指从缓存中删除数据项的原因。

  以下是引用片段:

  PublicSub RemovedCallback(ByVal key AsString, ByVal value AsObject, ByVal reason As

  CacheItemRemovedReason)

  Dim Source As DataView

  Source = getRecordFromdatabase()

  Cache.Insert("employeeTable ", Source, New

  System.Web.Caching.CacheDependency("d:\download\tblemployee.txt"),

  Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration,

  CacheItemPriority.Normal, onRemove)

  EndSub

  方法getRecordFromdatabase()负责查询数据库表Employee并返回一个DataView对象引用。它使用一个名为getEmployee的存储过程来抽象从Employee表中取数据的SQL.这个方法有一个名为p_empid的参数,表示Employee的主键。

  以下是引用片段:

  PublicFunction getRecordFromdatabase (ByVal p_empid As Int32) As DataView

  Dim con As OracleConnection = Nothing

  Dim cmd As OracleCommand = Nothing

  Dim ds As DataSet = Nothing

  Try

  con = getDatabaseConnection( "UserId=scott;Password=tiger;Data Source=testingdb;")

  cmd = New OracleCommand("Administrator.getEmployee", con)

  cmd.CommandType = CommandType.StoredProcedure

  cmd.Parameters.Add(New OracleParameter("employeeId", OracleDbType.Int64))。Value = p_empid

  Dim param AsNew OracleParameter("RC1", OracleDbType.RefCursor)

  cmd.Parameters.Add(param)。Direction = ParameterDirection.Output

  Dim myCommand AsNew OracleDataAdapter(cmd)

  ds = New DataSet

  myCommand.Fill(ds)

  Dim table As DataTable = ds.Tables(0)

  Dim index As Int32 = table.Rows.Count

  Return ds.Tables(0)。DefaultView

  Catch ex As Exception

  ThrowNew Exception("Exception in Database Tier Method getRecordFromdatabase () " + ex.Message, ex)

  Finally

  Try

  cmd.Dispose()

  Catch ex As Exception

  Finally

  cmd = Nothing

  EndTry

  Try

  con.Close()

  Catch ex As Exception

  Finally

  con = Nothing

  EndTry

  EndTry

  EndFunction

上一页  [1] [2] [3] 下一页

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点
 Dotnet频道相关导航