我现在希望数据库表里的数据改变时,数据库服务哭能自动通知侦听端。坛里有个个相关的讨论都没办法解决,是不是漏了什么步骤?
http://topic.csdn.net/u/20070824/16/f2870d3b-0791-44b1-b4f9-4f2dc1b32690.html
http://topic.csdn.net/u/20070406/10/f90e8f61-a20a-4ac3-8448-6cd4386149d6.html
http://topic.csdn.net/u/20070728/21/a2d70051-61f2-44cc-a1ea-353523935cb6.html
http://topic.csdn.net/u/20070103/00/c7c118b8-d5e3-44ff-98fd-39a6be8a9625.html结合这几个的都没有办法实现,同样的侦听端代码使用微软提供的示例数据库却可以,初步判断应是在数据库端的设置问题?哪位大虾指点一下?谢谢啦。

解决方案 »

  1.   

    public partial class _Default : System.Web.UI.Page
    {
        DataTable dt;
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCacheDependencyAdmin.EnableTableForNotifications("server=ZHOUMING-95A064\\SQLEXPRESS;uid = sa; pwd = sa; database= Northwind", "Customers");
            AggregateCacheDependency dependency = new AggregateCacheDependency();
            dependency.Add(new SqlCacheDependency("Northwind", "Customers"));
            dt = (DataTable)HttpRuntime.Cache["my"];
            if (dt == null)
            {
                InitData();
                HttpRuntime.Cache.Add("my", dt, dependency, DateTime.Now.AddHours(12), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
            }      
        }    private void InitData()
        {
            dt = new DataTable();
            SqlConnection con = new SqlConnection("server=SQLEXPRESS;uid = sa; pwd = sa; database= Northwind");
            SqlCommand cmd = new SqlCommand("select top 10 * from Customers", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
        }
    }