我在ASP.NET中编写基于文本的Web浏览器游戏。但我需要一点信息,所以我决定在这里问。 当用户输入任何任务时,让我们说任务需要10分钟才能继续。如果用户退出游戏,我如何让我的脚本自动运行并完成任务并升级玩家电源等?我听说过像CronJob这样的东西。但我不知道它是否适用于ASP.NET所以我想在我这样做之前听到任何想法。谢谢你的帮助。
答案 0 :(得分:2)
您可以添加一个带回调函数的缓存项。
public void SomeMethod() {
var onRemove = new CacheItemRemovedCallback(this.RemovedCallback);
Cache.Add("UserId_QuestId", "AnyValueYouMightNeed", null, DateTime.Now.AddMinutes(10), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
public void RemovedCallback(String key, Object value, CacheItemRemovedReason r){
// Your code here
}
缓存项目的有效期为10分钟,一旦从内存中删除,就会调用RemovedCallback。
注意:只是为了完全回答你的问题:
但在您的情况下,使用缓存可能是最简单的解决方案。