我们在Web服务中使用字典。 字典是从数据库表加载的。 如何在每次更改数据库表时刷新字典而不重置 IIS 并使用 SQLDependency?
您可以使用某种发布者-订阅者实现来通知应用或服务必须重新加载该字典。
每当代码的某些部分更改数据库时,它都会生成通知,并且订阅者(例如,字典)可以对数据库更改做出反应。
请注意,数据库不会发出这些通知,但你将在实际的 C# 代码中发送这些通知,在该代码中,你对数据库执行写入事务。
归根结底,它类似于以下伪代码:
// Send a notification
pubsub.Notify();
pubsub.Subscribe
(
() =>
{
// Do stuff here if I receive a notification
}
);
您可以使用像 MSMQ、RabbitMQ 甚至 Redis pub-sub 这样的消息队列来轻松解决您的问题!