📄 counter.aspx
字号:
<%@ page language="c#" EnableSessionState="True" %>
<%--
counter.aspx
这个文件包含的是计数器的代码,这个文件是展示了如何打开、读、写一个XML文件
--%>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<%-- 为了运行计数器而引入的集合和命名空间 --%>
<html>
<head>
<title> 第四十三例 基于XML的计数器</title>
<script language="C#" runat="server">
//这个脚本当页面装载时候执行
public void Page_Load(Object src, EventArgs e)
{
//该路径下的 Xml文件将要包含所有的数据
//我们可以修改该文件的路径
string dataFile="db/xmlcounter.xml" ;
if(!Page.IsPostBack){
//try-catch 模块包含了计数器的代码
try {
DataSet counterData = new DataSet();
//这个是非常重要的对于指定"FileShare.ReadWrite" 的选项.
//允许其它的使用者读写这个数据库
FileStream dataIn ;
dataIn = new FileStream(Server.MapPath(dataFile), FileMode.Open, FileAccess.Read, FileShare.ReadWrite) ;
counterData.ReadXml(dataIn);
dataIn.Close();
//更新数据库当有新的 session 在这里的时候
if(Session["counter"]==null)
{
//创建一个新的数据行从 DataSet schema
DataRow newRow = counterData.Tables[0].NewRow();
//加入数据
newRow["UserAgent"]=Request.UserAgent ;
newRow["UserHostAddress"]=Request.UserHostAddress ;
newRow["UserHostName"]=Request.UserHostName;
HttpBrowserCapabilities bc = Request.Browser;
newRow["BrowserType"]=bc.Type;
newRow["BrowserName"]=bc.Browser;
newRow["MajorVersion"]=bc.MajorVersion.ToString() ;
newRow["MinorVersion"]=bc.MinorVersion.ToString();
newRow["Platform"]=bc.Platform;
DateTime now = DateTime.Now ;
newRow["Date"]=now.ToShortDateString();
newRow["Time"]=now.ToShortTimeString();
counterData.Tables[0].Rows.Add(newRow);
FileStream dataOut ;
//保存更新过的文件到磁盘!
dataOut = new FileStream(Server.MapPath(dataFile), FileMode.Open, FileAccess.Write, FileShare.ReadWrite) ;
counterData.WriteXml(dataOut, XmlWriteMode.WriteSchema);
dataOut.Close();
//设置一个 Session 变量
Session["counter"]="Set" ;
}
countMsg.Text+=counterData.Tables[0].Rows.Count.ToString();
}
catch(Exception edd)
{
//捕捉到例外的时候
Response.Write("<font color=#FF0000>An Exception Occurred "+edd.ToString()+"</font>") ;
}
}
}
</script>
</head>
<body >
<h3><font face="Verdana"> 第四十三例 基于XML的计数器 </font></h3><br>
<br>
<p align="center">
这是一个简单的计数器
</p>
<asp:Label text="您的访问排行: " style="font-size:20pt" id="countMsg" runat="server" />
<br>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -