如何清理SQL Server以清除过期的SqlDependency对象?从SqlDepedency对象收到事件后,我需要创建一个新事件才能获得新事件.但是,SQL Server进程的内存使用量会增加,直到超出允许的内存(SQL Server Express).如何摆脱旧查询?
码:
// Func: RegisterTableListener
using (SqlConnection cn = new SqlConnection(Properties.Settings.Default.DatabseEventConnectionString))
{
if (cmd == null)
{
cmd = cn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT HostName, LastStatus, LastDetails, xml FROM dbo.[SystemTable]";
}
lock (cmd)
{
cmd.Connection = cn;
cn.Open();
cmd.Notification = null;
// creates a new dependency for the SqlCommand
if (dep == null)
dep = new SqlDependency(cmd);
// creates an event handler for the notification of data
// changes in …Run Code Online (Sandbox Code Playgroud) 我在Windows应用程序中使用EF,我希望我的应用程序在某个表中插入新记录时执行某些任务"这些新记录将由使用相同数据库的网站插入"
我的问题是如何查看此表更改并在新记录到来时收到通知,在这种情况下EF可以帮助我吗?
更新: 我使用了SqlDependency类并在db中使用了它
ALTER DATABASE UrDb SET ENABLE_BROKER
并且还在数据库http://screencast.com/t/vrOjJbA1y中创建了一个服务和一个队列,但我从未通过我的Windows应用程序收到通知.
此外,当我在sql server中打开队列时,它总是空的http://screencast.com/t/05UPDIwC8ck 接缝有错误,但我不知道.
我有一个小网页,可以播放我可以在手机上收听的音乐.页面上的JavaScript设置超时,加载下一首歌曲并在第一首歌曲结束时播放.
选项卡处于活动状态时,一切正常.但是在标签变为非活动状态后,超时会继续工作几分钟,然后一旦当前播放的歌曲结束,下一首歌就不会加载或播放.
我假设这是因为Chrome暂停了非活动标签的JavaScript执行,但我不想在我播放音乐的整个过程中保持屏幕.
我已经使用Chrome移动调试器调试了代码,方法是设置超时,每隔500毫秒运行一次,显示当前日期.一旦屏幕变黑,超时将下降到每1000毫秒一次,这是预期的,但几分钟后,超时完全停止.但是,一旦选项卡再次处于活动状态,所有暂停的超时都会激活并运行.
Chrome会将setInterval/setTimeout更改为1000毫秒,但是暂停执行会使我的整个页面停止工作.
我试图保持标签处于活动状态,每隔一段时间就运行一次AJAX请求,但这些请求也会暂停.我没有尝试过让JavaScript继续运行.
基本上,有没有办法解决这个问题?有没有办法在屏幕关闭时保持标签处于活动状态?
我有一个CRUD Web服务,并且一直在尝试找出一种方法来确保我们在数据库出现故障时不会丢失数据.每个人都知道,如果数据库出现故障,我们将无法获得"读取",但对于特定的操作子集,我们希望确保不会丢失数据.
我给人的印象是,这是0MQ,RabbitMQ或其中一个Microsoft MQ服务所涵盖的内容.虽然经过几天的阅读和研究,我甚至不确定我们在MQ服务中讨论的消息是否包括数据库操作.然而,我百分百肯定我可以排队尽可能多的你好世界.
如果我可以使用消息队列为数据库添加一层保护,我会倾向于Rabbit(因为它似乎会在崩溃中持续存在),但由于目标是Microsoft SQL服务器数据库,可能是他们的解决方案之一(例如作为SQL Service Broker或MSMQ)更合适.
我现在还不确定的真正基本问题是我是否正在玩正确的牌组(可以这么说).
随着高可用性web服务的愿望,即继续当数据库出现故障的功能,它是有意义的把兔子MQ实例的Web服务和数据库"之间"?也许链中的正确链接是让RabbitMQ向网络服务器发送消息?
或者是否有其他解决方案来实现这一目标?目前有很多想法在数据库中断或其他事情中找到一种卷起博客的方法......但是我们还处于足够早的阶段(至少我)不知道我是什么我要去做.
消息队列是正确的解决方案吗?
有没有办法在SQL Azure数据更改或插入新数据时收到通知?我想向ASP.NET Web应用程序发送通知并将通知推送到Windows Phone.我知道SqlDependency类和Query通知用于监视SQL Server 2008数据库数据更改,但SQL Azure尚不支持这一点.
asp.net sqldependency windows-phone query-notifications azure-sql-database
c# ×2
sql-server ×2
.net-4.5 ×1
android ×1
asp.net ×1
javascript ×1
rabbitmq ×1
sql ×1
zeromq ×1