Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何进行多用户事件驱动的屏幕更新?_C#_.net_Events - Fatal编程技术网

C# 如何进行多用户事件驱动的屏幕更新?

C# 如何进行多用户事件驱动的屏幕更新?,c#,.net,events,C#,.net,Events,我在一个Delphi程序上工作,该程序使用firebird数据库来存储数据。它使用一个自制的o.r.m.系统。当两个用户查看相同的数据时,例如在数据网格中,其中一个用户更改了某些内容,而另一个屏幕会立即更新。 其工作方式是一个程序中的对象将其自身存储在数据库中。数据库有一个触发器,用于在辅助更改日志表中注册此更改。写入此更改日志表将触发一个事件。第二个程序正在侦听该事件,并从更改日志表中的条目知道更改了什么对象。它将重新加载该对象并在该程序内部引发事件。此事件将导致显示此对象的所有屏幕以及基于此

我在一个Delphi程序上工作,该程序使用firebird数据库来存储数据。它使用一个自制的o.r.m.系统。当两个用户查看相同的数据时,例如在数据网格中,其中一个用户更改了某些内容,而另一个屏幕会立即更新。 其工作方式是一个程序中的对象将其自身存储在数据库中。数据库有一个触发器,用于在辅助更改日志表中注册此更改。写入此更改日志表将触发一个事件。第二个程序正在侦听该事件,并从更改日志表中的条目知道更改了什么对象。它将重新加载该对象并在该程序内部引发事件。此事件将导致显示此对象的所有屏幕以及基于此对象的行为的所有对象更新。 我们想切换到.Net,也许是MS SQL。 我的问题是: 1) 如何使用MS SQL实现这一点?
2) 是否有一个框架支持这一点?因此,我不必将其移植到.Net

听起来这在c#中实现起来并不太困难。
尝试将“观察者模式”用于任何自定义模式。

由于.Net Framework 2.0和MSSqlServer 2005版本支持更改通知:使用类。你有一个例子

还可以查看有关在中使用通知的一些建议