我目前正在开发一个asp.net网站。 我有一个页面(main.aspx)显示数据库表中的记录。另一个页面(editing.aspx)负责编辑数据库表中的记录。
让我们假设我们有两个用户正在使用网站的场景,user1(在session1上)正在查看main.aspx中的记录,user2(在session2上)正在编辑来自editing.aspx的数据库表,我想要的是:当user2将更改保存到数据库表时,刷新user1的main.aspx。
我尝试使用一个AJAX计时器,每隔10秒就会拉动数据库进行更改,并刷新一个UpdatePanel(我在其中显示记录),它工作正常,但我想知道是否有一个比拉动数据库服务器更好的方法。
感谢。
答案 0 :(得分:0)
如果另一种方式更好,但您正在寻找的是与服务器的持久连接,让服务器向该页面发送电子邮件,这是值得商榷的。有一个很好的.NET库,名为SignalR,它抽象出细节。它当然更具网络效率,但根据您的使用情况,更新面板可能已经足够好了。基本上使用SignalR,您将从编辑页面的服务器端代码发送一条消息,该消息将由主页上的JavaScript函数接收。然后,您要么以某种方式显示数据或导致刷新。