很抱歉,如果这是一个基本问题,但我是数据库轮询的新手
我正在创建一个ASP.net项目,我们需要不断监视数据库(MySQL)表,并且只要在该表中添加任何行,我们就会在UI中显示它。现在我创建了一个监视该DB表的Windows服务,并在表更改时生成一个事件。现在如何从我的Windows服务中获取ASP.net项目中的通知,以便我可以在UI中显示?
答案 0 :(得分:0)
我将摆脱Windows服务并在ASP.NET网站本身实现轮询。您说您只想在网站UI上显示新记录,因此没有理由提供服务,这只会引入不必要的通信层。您需要让您的网站始终运行以执行您想要的操作,因此您不需要Windows服务的优势,这些服务通常用于保持正常运行。
确保您的ASP.NET网站一直在运行(startMode = AlwaysRunning
)并且没有空闲超时(processModel.idleTimeout = TimeSpan.Zero
)。我会将SignalR用于推送通知,因此每当您找到新行时,您都可以向客户发送消息,他们可以立即对此作出反应。