心跳设计

服务器端
Request.ContentType = "text/html";
Response.ContentType = "text/html";
StreamReader reader = new StreamReader(Request.InputStream);

string test = reader.ReadToEnd();
Application.Lock();
if(test=="1010")
{
if( Session["StationName"]==null)
{
return;
}
string statioNname = Session["StationName"].ToString();
string stationId = Session["LockNo"].ToString();
StationState ss=new StationState {StationID = stationId, StationName = statioNname, online = "online"};


List<StationState> list = (List<StationState>)Application["BufferdStations"] ?? new List<StationState>();

if(list.Count<1)
{

list.Add(ss);
Application["BufferdStations"] = list;

}
foreach (StationState item in list)
{
if (item.StationName == statioNname&&item.online=="offline")
{
item.online = "online";
}
}
Application["BufferdStations"] = list;
}
Application.UnLock();

全局Global

System.Timers.Timer t = new System.Timers.Timer(1000 * Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["server_time"]));

protected void Application_Start(object sender, EventArgs e)
{
t.AutoReset = true;
t.Enabled = true;
//if (common.func.get_key("can_do") == "1")//也是在web.config中存取是否进行定时处理,其中common.func.get_key是自定义的获取设置的函数
t.Elapsed += Fun;

List<StationState> States =
new List<StationState>();

Application.Add("BufferdStations", States);

System.Diagnostics.Debug.WriteLine("Application_Start");
}
private void Fun(object sender, System.Timers.ElapsedEventArgs e)
{
try{
List<StationState> list = (List<StationState>)Application["BufferdStations"];
if(list==null)
{list=new List<StationState>();

}
if (list.Count<1)
{
return;
}
Application.Lock();
foreach (StationState item in list)
{
if (item.online != "online")
{
list.Remove(item);

}
}
Application["BufferdStations"] = list;
Application.UnLock();

List<StationState> listReSet = (List<StationState>) Application["BufferdStations"];
Application.Lock();
foreach (StationState item in listReSet)
{

item.online = "offline";


}
Application["BufferdStations"] = listReSet;

Application.UnLock();
}
catch(Exception se)
{

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值