ใน ASP.NET 2.0 มี feature ในการ cache ที่ใช้งานร่วมกับ SQL Server 2005 ได้อย่างดี โดยการ cache นี้จะติดต่อผ่านตัว Service Broker ของ SQL Server 2005 ซึ่งถ้าข้อมูลในฐานข้อมูลมีการเปลี่ยนแปลง ก็จะมีผลทำให้ข้อมูลใน cache นั้น expire ไปทันที และเริ่มทำการ cache ข้อมูลใหม่
ขั้นตอนง่ายๆในการทำ cache คือ
1. กำหนด Duration declarative ไว่ส่วนบนของ page ที่ต้องการทำการ cache โดยกำหนด attribute SqlDependency ให้มีค่าเท่ากับ CommandNotification
<%@ OutputCache Duration="20" VaryByParam="*" SqlDependency="CommandNotification" %>
2. ที่ Application_Start event ใน Global.aspx ให้ทำการ Start SqlDependency
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings("AW").ConnectionString())
End Sub
3. ทำการ Enable ตัว Service Broker ในฐานข้อมูลที่ใช้งาน โดยเปิด Query และพิมพ์คำสั่งว่า
ALTER DATABASE [database_name] SET ENABLE_BROKER
เช่น ALTER DATABASE AdventureWorks SET ENABLE_BROKER
No comments:
Post a Comment