asp.net – SqlCacheDependency不起作用
我想将SqlCacheDependency添加到我的应用程序.
因此,我决定创建小型tesp项目并面临困难. 我使用MSSQL 2008.我使用表格行创建新的数据库并添加了几行. 我执行了: ALTER DATABASE ForTest SET ENABLE_BROKER 在managmeng工作室. Aspx页面: public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { if (Cache["Lines"] == null) { string connectionString = WebConfigurationManager.ConnectionStrings["ForTest"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); string query = "SELECT dbo.Lines.Id,dbo.Lines.Value FROM dbo.Lines"; SqlCommand cmd = new SqlCommand(query,con); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adapter.Fill(ds,"Lines"); SqlCacheDependency empDependency = new SqlCacheDependency(cmd); Cache.Insert("Lines",ds,empDependency); } } } protected void btnResult_OnClick(object sender,EventArgs e) { var result = Cache["Lines"]; } } 我运行此页面并向Cache添加行,然后在管理工作室中添加行,当我点击按钮时,我期待 谢谢 更新: SqlDependency.Start( WebConfigurationManager.ConnectionStrings["ForTest"].ConnectionString ); 解决方法
我有一个类似的问题.这篇文章:
Troubleshooting SqlCacheDependency in SQL Server 2008 and SQL Server 2005对我帮助很大.
简而言之:数据库已从备份中恢复,并且创建数据库的原始Windows用户不再可用.所以我将数据库所有权更改为有效登录,类似于: ALTER AUTHORIZATION ON DATABASE::[my_perfect_database_name] TO [sa]; 它现在就像一个魅力. 我是如何找到问题的根源的?我运行查询SELECT * FROM sys.transmission_queue并找到transmission_status列中的下一个数据:
这条消息给了我解决问题的关键. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC 5为隐藏输入渲染不同
- asp.net-mvc – 使用复杂类型嵌套对象的bind属性
- 在ASP.NET MVC中检索当前视图名称?
- asp.net-mvc – 在ASP.NET MVC3 Razor的渲染时间
- asp.net-mvc – 如何在asp.net mvc中的url中添加
- asp.net-mvc-3 – asp.net mvc 3验证摘要不显示通
- asp.net – Web部署项目:不预编译发布
- asp.net – 根据自己的主机Web API Windows服务验
- asp.net-mvc – 如何处理MVC5中的配置和代码中的
- asp.net – 如何对缓存层进行单元测试