C# 在外部更新数据库时刷新webform

C# 在外部更新数据库时刷新webform,c#,asp.net,sql-server,winforms,C#,Asp.net,Sql Server,Winforms,出于实验目的,我制作了一个ASP.net网络表单,用于写入数据库。我还制作了一个windows窗体(c#),可以写入同一个数据库。 webform在gridview中显示文本,winform在datagridview中显示文本 我的问题是:当数据库被另一个窗体更新时,是否可以刷新windows窗体和webform?如果是这样的话,有人能给我指出正确的方向吗?乔治在他的评论中提出了一个很好的方法 对于ASP.Net,您可以使用更新网页 ASP.NET Signal是一个面向ASP.NET开发人员的

出于实验目的,我制作了一个ASP.net网络表单,用于写入数据库。我还制作了一个windows窗体(c#),可以写入同一个数据库。 webform在gridview中显示文本,winform在datagridview中显示文本


我的问题是:当数据库被另一个窗体更新时,是否可以刷新windows窗体和webform?如果是这样的话,有人能给我指出正确的方向吗?

乔治在他的评论中提出了一个很好的方法

对于ASP.Net,您可以使用更新网页

ASP.NET Signal是一个面向ASP.NET开发人员的新库,它简化了向应用程序添加实时web功能的过程。实时web功能是一种让服务器端代码在内容可用时立即将内容推送到连接的客户端的能力


传统的方法是通过桌面应用程序进行“轮询”,即每隔几秒钟发出一次请求,查看是否有新信息。这种方法可能需要大量资源。当然,您也可以从网页进行轮询。

最简单的方法是使用两个计时器控件,一个在WinForm中,另一个在WebForm中

并在所需的时间间隔重新绑定数据集

重新绑定数据

grdWaiver.DataSource = dv  'Set the dataview to the DataGrid
grdWaiver.DataBind()

(在上面我使用了dataview作为数据源)

考虑观察者模式。可以使用SignalR查询通知!sigalR的问题是,它不能与任何比IIS7旧的IIS一起工作,并且至少需要.NET framework 4.0。