forked from vivek9088/Alumni-Website
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Global.asax
87 lines (71 loc) · 2.83 KB
/
Global.asax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO"%>
<script runat="server">
StreamReader readfile;
StreamWriter writefile;
FileStream fs;
string cnt;
int counter;
void Application_Start(object sender, EventArgs e)
{
Application["onlineusers"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
FileStream fs = new FileStream(Server.MapPath("hitcounter.txt"), FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter wr = new StreamWriter(fs);
wr.WriteLine(counter.ToString());
wr.Close();
fs.Close();
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
//Session.Timeout = 15;
Application.Lock();
Application["onlineusers"] = Convert.ToInt32(Application["onlineusers"]) + 1;
string path = (File.Exists(Server.MapPath("hitcounter.txt"))) ? Server.MapPath("hitcounter.txt") : Server.MapPath("../hitcounter.txt");
if (File.Exists(path))
{
readfile = File.OpenText(path);
cnt = readfile.ReadLine().ToString();
readfile.Close();
counter = Convert.ToInt32(cnt);
counter++;
Application["counter"] = counter;
fs = new FileStream(path, FileMode.Open, FileAccess.Write);
writefile = new StreamWriter(fs);
writefile.WriteLine(Convert.ToString(counter));
writefile.Close();
fs.Close();
}
else
{
counter = 0;
counter++;
Application["counter"] = counter;
fs = new FileStream(path, FileMode.Open, FileAccess.Write);
writefile = new StreamWriter(fs);
writefile.WriteLine(Convert.ToString(counter));
writefile.Close();
fs.Close();
}
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
Session.Clear();
Application.Lock();
Application["counter"] = Convert.ToInt32(Application["counter"].ToString()) - 1;
Application.UnLock();
}
</script>