📄 infosumupdater.cs
字号:
using System;
using System.Threading;
using Stella.SQLServerDAL;
using Stella.Model;
using System.IO;
namespace Stella.BusinessLogic
{
/// <summary>
/// 计时更新器
/// </summary>
public abstract class InfoSumUpdater
{
private InfoSumUpdater(){}
private volatile static Timer timer;
private static TimerCallback cb=new TimerCallback(update);
/// <summary>
/// 启动更新器,开始定时更新
/// </summary>
/// <remarks>
/// 每三个小时更新一次数据库
/// </remarks>
public static void Start()
{
if(timer==null)
{
lock(typeof(Timer))
{
if(timer==null)
{
timer=new Timer(cb,null,TimeSpan.Zero,new TimeSpan(1,0,0));
}
}
}
}
private static void update(object state)
{
try
{
ForumAccess fa=new ForumAccess();
ForumInfoSum info=ForumInfoSum.GetInstance();
fa.UpdateInfoSum(info);
ThemeAccess ta=new ThemeAccess();
ThemeInfoSum sum=ThemeInfoSum.GetInstance();
ta.UpdateSum(sum);
StreamWriter writer=new StreamWriter(Utility.ConfigHelper.LogPath,true);
writer.WriteLine(" ==InfoSumUpdater run well !==");
writer.WriteLine(" time: "+System.DateTime.Now.ToString());
writer.Close();
}
catch(Exception e)
{
StreamWriter writer=new StreamWriter(Utility.ConfigHelper.LogPath,true);
writer.WriteLine(e.ToString());
writer.Close();
}
}
/// <summary>
/// 停止更新
/// </summary>
public static void Stop()
{
timer.Dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -