📄 global.asax
字号:
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
DataManager.Start();
System.Data.DataRow row = DataManager.database.Room.NewRow();
row["Name"] = "公共房间";
row["Admin"] = System.Configuration.ConfigurationManager.AppSettings["admin"].ToString();
row["AdminID"] = System.Configuration.ConfigurationManager.AppSettings["adminid"].ToString();
row["Time"] = DateTime.Now;
string id = DataManager.Add("Room", row);
ArrayList ms = new ArrayList();
Message me = new Message();
me.color = "red";
me.face = "1";
me.hiden = false;
me.sender = "管理员";
me.size = "3";
me.text = "欢迎进入教师问答热线,技术支持dic工作室。";
me.time = DateTime.Now;
me.receiver = "所有人";
ms.Add(me);
Application.Lock();
Application.Clear();
Application["Room" + id] = ms;
Application.UnLock();
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
DataManager.End();
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
string ID = Session["ID"].ToString();
string RoomID = DataManager.CallColumn("User", "RoomID", ID);
//检查用户所在房间是否为空,如果为空则删除;
if (RoomID != "0" && RoomID != "1")
{
int count = DataManager.FindRow("User", "RoomID = " + RoomID).Length;
if (count < 2)
{
DataManager.Del("Room", RoomID);
Application.Remove("Room" + RoomID);
}
}
//清除用户记录
if (DataManager.CallName("User", ID) != string.Empty)
{
DataManager.Del("User", ID);
}
Session.Clear();
Session.Abandon();
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -