软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

125 lines
5.7 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using FangYar.Common;
using Hangfire;
using FangYar.WebUI.ashx;
using Hangfire.MemoryStorage;
using System.Configuration;
namespace FangYar.WebUI
{
public class Global : System.Web.HttpApplication
{
private string StrKeyWord = ConfigurationManager.AppSettings["StrKeyWord"];
//private const string StrKeyWord = @"select|insert|delete|from|drop table|update|truncate|exec master|netlocalgroup administrators|:|net user|or|and";
protected void Application_Start(object sender, EventArgs e)
{
try
{
//MyLogHelper.WriteMsg(new LogInfoMo() { message = "程序启动", msgType = EnumLogMsgTypeEnum.Info, path = "" });
//MyLogHelper.WriteMsg(new LogInfoMo() { message = "测试分组", msgType = EnumLogMsgTypeEnum.Info, path = "test" });
// 在应用程序启动时运行的代码
string spireKey = "jSpNQ7JkJxpIaq78AQBARCNbH18E1Hro4NiYPtsXfbJBZFyqNcdDPgHMyhf8PR3Wccuaij2kIi5FD+1FwS3lwHk5WBxGT4lzHrVDdDSfCXnGGKN1yUj5QyX7rgguo282XF1jDry01W7aCnQelRsTFaxZgDvQAAN8JhJMm63hAJ+1T/2Xps53d222+DQwaxCdSDO4LFCxwdR//1hRZST95GxDYDnnVLOijFrqxoh8vzUvY124/8g2b2uRRCIthLiedKatO6keEZDqW7bFusEfi0Jk2kgVo8U7n02KN3xGF1CkB0UqzL3ty8zQh8QmGMY8izL30KyZq+dyNEIl4WyGqmwwfIWxza6/zoYR4jg38Qid6cmruVF0N/jAcTn0Nh2qI4COKFvpt6CTJ4Qn784DGzbrDuC2iTE3patGPhixGnHioDaY6C8q1EcWWp+N64CH8J9R4plenipHMkBlTDQsRz5rhyIluYkT+tUof+3HyfBngbmlycXeiwYZIa8rOzTx+rwvxjk49fbqYZEF69nvEKZUNLnTGw1vvYltaW1r9xzgo7JdxotA83H8Y8XmezmgT7iH30hqmdWfC/tiO7FZuvOxVIasXNUuWtebpbZ1EVWIlAnbrfD4jHQvtout1eJ7LLUhQefEQyai4m8eFDqnQaMTjTMcwyL9CuyC5gcfNHKeroVPmar/scZjY4Nfg+aXxarfu5ipoKaAFB2pRdSND04R77rQ970Km0QXf/B7JSiq95+GeFI/sFYBWuRxQd/9Bnq7Ummv7md8Rtr7xj9gbvGOa/48Q4zKFvEkFhX16/CWnUvazSkkcuj7h5YJWESsfMaFVGeIUU8XFHq/FEwZPLUEtNO04Vz1y+FdCC6PPI7X/pqqKAvI/6bw6acMgD+Gsa4TCuCrt9yQgaJSfNvUW+mSBvxvp1FMjsDwmIn/z2Of/ULCQmzyZ6xDTbV4DqxDcLAtAh8StPsIutH1i0y1SkthDhFOO+SruBNOUrQmqYBFJY2KnkarFUtLfRJDXxGdFyMwAve1lH+JLTK2YH+2bm4V8u1rQqC1v1OeRgX1N6/F0Hk2y+ku+QgvqJLuZjZGcaMjQJYbXT/b7O0aVJ91NkT/r7fZslsfPdxSg97BM+0ro78NJH7e6J3wmIl+J6sxtSc5/3gryP68/2b/oGfCL6N8v3TTbHXdKga6roXcah3rbgyt81EsHW4bH3KjfZVkjoVMl/wTxUCB7FIEvOxpxT5QrkLy+0me+JTHBuv0QxkbmBuf88VVKiZo78iGUuI+4b75rKBHkx89CkIowfyb4tHnR6SP8Gp/k+xipa0niQG0BPqIajCNQ7PVgt6q0c2kNEUIaMr/w9u7cRKn9xBeG3GIC/zweAVOOQd9kzF203EZXb0NmlScrDohI+/lBBGE";
Spire.License.LicenseProvider.SetLicenseKey(spireKey);
Application.Lock();
Application["count"] = 0; //Application.Set("count",0) /Application.Add("count",0) 初始化变量,这个作用等同,都是将count设置为0。
Application["online"] = 0;
//此处放置定时任务
//RecurringJob.AddOrUpdate(() => DelaySendMsg("你好,这是延时任务"), Cron.Minutely, TimeZoneInfo.Local);
// 开启后台线程运行
//WebCommon.WebThreadUtil.InitStart();
Application.UnLock();
TaskRemindInfoHandler TaskReminHangler = new TaskRemindInfoHandler();
//指定Hangfire使用内存存储后台任务信息
GlobalConfiguration.Configuration.UseMemoryStorage();
RecurringJob.AddOrUpdate(() => TaskReminHangler.RollingTaskRemindInfo(), Cron.Minutely);
}
catch (Exception ex)
{
string str = "Global异常:" + ex;
FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo()
{
message = str,
msgType = FangYar.Common.EnumLogMsgTypeEnum.Error,
path = "Global"
});
}
}
protected void Session_Start(object sender, EventArgs e)
{
Application.Lock();
Session.Timeout = 60; //设置一个会话的作用时间为一分钟,即一分钟内不做任何操作的话,该会话就会失效。
Application["count"] = (int)Application["count"] + 1;
Application["online"] = (int)Application["online"] + 1;
Application.UnLock();
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
//全局防SQL注入
//SqlChecker SqlChecker = new SqlChecker(this.Request, this.Response);
//或 SqlChecker SqlChecker = new SqlChecker(this.Request,this.Response,safeUrl);
//SqlChecker.Check(StrKeyWord, this.Request, this.Response);
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
}
protected void Session_End(object sender, EventArgs e)
{
Application.Lock();
Session.Abandon(); //当以一个会话结束后,注销该会话
Application["online"] = (int)Application["online"] - 1;
Application.UnLock();
}
protected void Application_End(object sender, EventArgs e)
{
try
{
WebCommon.WebThreadUtil.threadSwitch = false;
//终止所有Task
MyTaskControlHelper.TokenSource.Cancel();
}
catch (Exception ex)
{
string str = "Global异常:" + ex;
FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo()
{
message = str,
msgType = FangYar.Common.EnumLogMsgTypeEnum.Error,
path = "Global"
});
}
}
}
}