?? 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 + -