2012-04-10 68 views
2

如何刷新aspx页面从sql server.I正在使用asp.net,C-Sharp与SQL Server 2008.我的意思是我有桌子,说表1。如果有执行DML操作(更新,插入等),以表1 ,然后我的网页,说Page1.aspx的应该autmatically得到refreshed.I不能使用计时器用于刷新page.I需要触发来自刷新数据库。如何从sql服务器刷新aspx页面

+0

即使浏览器关闭,页面是否会刷新? – Oded 2012-04-10 15:15:56

+0

@Oded: - 我猜我的目的不会通过关闭浏览器来解决 – 2012-04-10 15:17:53

+0

看看这个:http://stackoverflow.com/questions/1437309/how-to-refresh-a-page-when-record -in-db-table-get-changed-in-asp-net-3-5 – Zaki 2012-04-10 15:17:56

回答

6

尽管服务器可能会在数据发生变化时得到通知,但真正的挑战是将这些更改实时传达给客户端,而不需要定时器或用户交互。

你有两个选择:

  1. 最好的办法是使用WebSocket,使客户端和服务器之间的双向通信。这是我会选择的解决方案。

    下面是使用WebSockets一些例子:


    还有一些很好的图书馆也会照顾大部分的腿部工作。一对夫妇退房是WebSyncPokeIn。这两款产品都提供体面的文档和社区版本,您可以免费下载。

    这里有一些教程来看看:

  2. 使用AJAX来轮询每变化X秒数。如果检测到更改,则重新加载该页面,否则不做任何事情。

1

您可能想要查看SqlDependency对象。该对象将实时通知您对指定数据库查询的更改。当您的应用程序从数据库收到消息时,您可以简单地刷新代码隐藏中的页面。

+0

在应用程序中使用的任何示例? – 2012-04-10 16:02:20

+2

这种方法的问题是它不能实时地与客户端进行通信。 – 2012-04-10 16:24:34

+0

您可能是对的James ......一旦页面加载完成,SqlDependency已经被注册并不重要,因为页面不再被主动执行。我仍然在思考WPF模式。 – 2012-04-10 17:14:14

0

我不知道你是否能适应SignalR将消息发送到客户端提示刷新?

This tutorial可以让你开始。