在VB.net应用程序中,我有一个SQL接口,users
在SQL数据库中有一个表供此应用程序的用户使用,当用户单击按钮时,所有这些用户现在都看到相同的数据,更改保存在sql中并刷新了数据对于该用户,但是我希望在某些用户单击该按钮后立即为所有用户刷新数据。
我有想法
什么是最有效的方法?
我想没有计时器的工作!
谢谢
~~~~
SQL提供通知的订阅,这些通知提供了与您的需求相关的机制。
http://msdn.microsoft.com/zh-
CN/library/ms172483(v=sql.90).aspx
注意 :已删除,因为您稍后提供了使用SQL Server 2008 R2的信息
System.IO.FileSystemWatcher
另一种方法是在您的表上创建一个SQL触发器,以执行简单的文件时间戳更改。文件本身的大小为0个字节,因此我们不对其进行任何写入操作,因此可以快速进行操作。
然后,所有客户端都会监视此文件进行修改,并且当发生更改时,监视程序会触发一个更改事件,在该事件中,您的客户端可以简单地重新加载其数据。
CREATE TRIGGER DataChanged
ON YourTable
FOR INSERT, UPDATE, DELETE
AS
EXEC master..xsp_UpdateSignalFile 'YourTable.DataChanged'
此CLR存储过程的思想是尽可能快地保持其可伸缩性。如果数据服务器负载很重,则甚至可以通过使用外部进程更新文件来对其进行优化。
您可以在此MSDN文章中找到与Web表单实际上相关的CLR存储过程的代码,但是除了此CLR过程之外,您不需要其他任何东西。也许是整个系统如何工作的解释。
然后,您的客户端将System.IO.FileSystemWatcher
用来监视某个网络位置(此过程将更新文件)上的文件更改,并在更改发生时更新其数据。
简单而优雅的技巧
,不使用轮询或对数据服务器的不必要请求。当然,您可以在多个表上具有触发器,每个触发器都会更改一个不同的文件,并根据您在客户端上显示的表单,然后在表单的生命周期内监视该特定文件。当用户将上下文更改为其他数据时,客户端应用程序将释放文件监视程序(并为其他文件创建新的监视程序)。
我想注册一个应用程序在Azure有能力访问其他Azure用户的监控数据。 我知道你可以注册一个新的应用程序...https://docs.microsoft.com/en-us/Azure/active-directory/develope/quickstart-register-app
有一个对象,其中用户以数组的形式存在,如何使用特定id更新用户,而不发送整个用户数组。 当同时更新不同用户的数据时,发送的数据被覆盖,但必须不被覆盖
记住,使用 tenant2 可以在一些服务调用中更新自己的 TenantId,我们需要在服务器端对它进行安全检测。 与此类似,即使默认情况下,不能看到其他租户的用户,但实际上可以检索和更新他们。 又到了黑客时间。 打开 Chrome 的控制台,并输入: new MultiTenancy.Administration.UserDialog().loadByIdAndOpenDialog(1) 什么?
我最近创建了一个非常基本的站点,用户可以在其中登录,然后访问一个他们可以编辑的表。我希望用户只能编辑自己的详细信息,而不能编辑其他人的详细信息,我不知道应该向代码中添加什么才能做到这一点。下面是编辑页面看起来像atm(我知道这样显示密码不是很安全,这只是一个例子) 更新:我不知道我应该添加到删除页面的值,所以它只删除登录用户的详细信息,而不删除任何人的。目前它没有删除任何细节。这是我的注册页面 这
我正在构建一个使用Microsoft Graph的本机应用程序。 我正在使用OAuth2授权工作流获取授权代码:https://login.microsoftonline.com/common/OAuth2/authorize?resource=https://graph.microsoft.com&prompt=admin_contority
我目前正在为一个学校项目创建一个API,一切都很好。我的设置是:节点v10、Postgres、Koa等等... 我目前有以下内容: