1

我花了整整两周的时间在谷歌上搜索一些工作样本。我差点把头撞在混凝土墙上……直到现在都深受其害。

好的,我有一个简单的网页来显示 MS SQL Server 中名为 MsgLog 的表中的两列,例如 Msg 和 MsgID。我有将新的 Msg 条目插入到表中的存储过程。(将来,可能会更新现有条目)

我的愿望是,每当插入新的 msg 条目或更新现有的 msg 条目时,网页必须自动反映此更改,而无需用户单击任何页面按钮或没有任何编码的计时器功能,否则网页只是离开这是。页面刷新只能由数据库表更改触发。

我阅读了很多关于使用 SqlCacheDependency 来实现这一点的互联网帖子,但没有一个提供完整的步骤和代码。我试图在我的项目中调整他们的示例代码,但正如我预测的那样,没有一个成功。还是不可能实现这一点?

我的开发环境是:Visual Studio 2010专业版,使用ASP.NET FRAMEWORK 4.0,MVC 3应用程序使用C#嵌入带有SqlCommand对象的sql语句,数据库是MS SQL Server 2008企业版,IIS express。

谁能告诉我从 sql server 设置到编码的完整可行的详细步骤。功能就像显示网页中一个表格的 2 列行一样简单,并且当且仅当表格被更新或插入时才实时反映更改。不使用轮询或计时器技术;不使用 LINQ to SQL,而是使用 SqlCommand。

感谢数以百万计的人。

4

1 回答 1

1

这本身并不一定与 SqlCacheDependency 直接相关。
您想做一些直到最近才真正使用计时器/轮询完成的事情,除非您是大玩家之一(即谷歌聊天)一旦引发服务器通知事件,然后使用 SignalR 通知客户端更改,所以它需要“开放”连接。否则轮询/刷新是您唯一的选择。我没有使用过 SignalR,但我知道它确实是你现在做你想做的事的唯一选择。该领域还有其他一些项目,但这是迄今为止您最好的选择。

https://github.com/SignalR/SignalR

于 2012-02-03T14:41:16.440 回答