Esempio n. 1
0
        /// <summary>
        /// 快照
        /// </summary>
        /// <param name="actorid"></param>
        /// <param name="sqliteProvider"></param>
        private static void CallSnapShoot(string actorid, SqliteProvider sqliteProvider)
        {
            var props  = Actor.FromProducer(() => new SnapShootDataActor(sqliteProvider, actorid));
            var pid    = Actor.Spawn(props);
            var result = true;

            while (result)
            {
                Console.WriteLine("1、Tell  2、删除持久化  3、退出");

                switch (Console.ReadLine())
                {
                case "1":
                    var random = new Random();
                    var no     = random.Next(5, 15);
                    Console.WriteLine($"随机产生的数字:{no}");
                    pid.Tell(new Data {
                        Amount = no
                    });
                    break;

                case "2":
                    //完成处理后清理持久化的操作
                    sqliteProvider.DeleteSnapshotsAsync(actorid, 100).Wait();
                    break;

                case "3":
                    result = false;
                    break;
                }
            }
        }