Asp.net 记录Web API调用MVC4
我需要在每次调用Web API时都登录到数据库。 现在我当然不想每次打电话都去我的数据库 假设我的缓存中有一个字典或哈希表对象, 每10000条记录我就会进入数据库 我仍然不想让每10000个用户等待这个操作。 由于应用程序池已关闭,我无法为长时间操作启动其他线程 基本上可以随时回收 对于这种情况,最好的解决方案是什么Asp.net 记录Web API调用MVC4,asp.net,asp.net-mvc,caching,logging,asp.net-web-api,Asp.net,Asp.net Mvc,Caching,Logging,Asp.net Web Api,我需要在每次调用Web API时都登录到数据库。 现在我当然不想每次打电话都去我的数据库 假设我的缓存中有一个字典或哈希表对象, 每10000条记录我就会进入数据库 我仍然不想让每10000个用户等待这个操作。 由于应用程序池已关闭,我无法为长时间操作启动其他线程 基本上可以随时回收 对于这种情况,最好的解决方案是什么 谢谢我认为你对耐久性的看法不太一致。由于应用程序池回收或服务器崩溃,10000个对象的缓存也可能随时丢失 但对于如何在不引起用户等待的情况下执行大型操作的原始问题: 限制应用程
谢谢我认为你对耐久性的看法不太一致。由于应用程序池回收或服务器崩溃,10000个对象的缓存也可能随时丢失 但对于如何在不引起用户等待的情况下执行大型操作的原始问题:
- 限制应用程序池回收并处理潜在的数据丢失
- 定期将缓存的消息转储到Windows服务以进行进一步处理。这仍然不能100%保证保留数据,例如服务/服务器可能崩溃
- 使用消息队列()。消息队列可以持久保存到磁盘,因此可以认为这是合理可靠的
根据您的要求和/或环境,您可以消除缓存,并立即(快速)将所有消息写入消息队列,而不用担心性能损失或大型写入操作。谢谢!事实上,我没有考虑将它带到其他服务/队列