PageBrowseCounter.config (xml文件)
PageBrowseCounterDefination.cs (序列化xml的类文件)
using System;
using System.Xml;
using System.Xml.Serialization;
using System.Collections;

namespace K2WebControls.UserControl.Counter
{

[XmlRoot("PageBrowseCounter"), Serializable]
public class PageBrowseCounterDefination
{
private static XmlSerializer xmlPageBrowseCounterDef = new XmlSerializer( typeof( PageBrowseCounterDefination ) );

所有的属性

PageBrowseCounterDefination() // 构造函数

所有的私有方法


其他类
}
}

下面是调用这个类的一些操作:
GetUserInfo函数(问题就在这个函数中发现)
GetUserInfo() // 读取当前登录用户的相关信息
下面的两个函数被GetUserInfo函数调用
GetCurrentUserInfoByAccount( string account ) // 根据用户的帐号获得用户信息

GetCurrentUserInfoByIP( string account ) // 根据用户的帐号获得用户信息
下面开始描述问题:
当前用户第一次浏览页面的时候,调用的是如下的代码:
调用后发现一个用户的信息被成功的插入了xml文件:
当用户在经过一段时间间隔后重新浏览该网页,执行的是这段代码:
这段代码执行起来没有报错,执行完成以后发现xml文件中该用户的信息并没有更改,我确认这段代码已经被执行了。
<?xml version="1.0" encoding="utf-8"?>
<PageBrowseCounter xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserInfoCollection>
<UserInfo>
<Account>李四</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T15:10:47.1468792+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
</UserInfoCollection>
<PageInfo ViewCount="6" />
</PageBrowseCounter>
<PageBrowseCounter xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserInfoCollection>
<UserInfo>
<Account>李四</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T15:10:47.1468792+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
</UserInfoCollection>
<PageInfo ViewCount="6" />
</PageBrowseCounter>
PageBrowseCounterDefination.cs (序列化xml的类文件)
using System;
using System.Xml;
using System.Xml.Serialization;
using System.Collections;
namespace K2WebControls.UserControl.Counter
{
[XmlRoot("PageBrowseCounter"), Serializable]
public class PageBrowseCounterDefination
{
private static XmlSerializer xmlPageBrowseCounterDef = new XmlSerializer( typeof( PageBrowseCounterDefination ) );
所有的属性 
PageBrowseCounterDefination() // 构造函数 
所有的私有方法

其他类
}
}
下面是调用这个类的一些操作:
GetUserInfo函数(问题就在这个函数中发现)
GetUserInfo() // 读取当前登录用户的相关信息 下面的两个函数被GetUserInfo函数调用
GetCurrentUserInfoByAccount( string account ) // 根据用户的帐号获得用户信息 
GetCurrentUserInfoByIP( string account ) // 根据用户的帐号获得用户信息 下面开始描述问题:
当前用户第一次浏览页面的时候,调用的是如下的代码:
userinfo = new K2WebControls.UserControl.Counter.PageBrowseCounterDefination.UserInfo();
userinfo.Account = this.CurrentUserAccount;
userinfo.IP = this.CurrentUserIP;
userinfo.BrowseCount++;
userinfo.LastBrowseTime = DateTime.Now;
pbcd.UserInfoCollection.Add( userinfo );
//更新config文件中的信息
pbcd.PageInfo.ViewCount++;
userinfo.Account = this.CurrentUserAccount;
userinfo.IP = this.CurrentUserIP;
userinfo.BrowseCount++;
userinfo.LastBrowseTime = DateTime.Now;
pbcd.UserInfoCollection.Add( userinfo );
//更新config文件中的信息
pbcd.PageInfo.ViewCount++;
调用后发现一个用户的信息被成功的插入了xml文件:
<?xml version="1.0" encoding="utf-8"?>
<PageBrowseCounter xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserInfoCollection>
<UserInfo>
<Account>李四</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T15:10:47.1468792+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
<UserInfo>
<Account>王五</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T16:46:40.6590749+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
</UserInfoCollection>
<PageInfo ViewCount="7" />
</PageBrowseCounter>
<PageBrowseCounter xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserInfoCollection>
<UserInfo>
<Account>李四</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T15:10:47.1468792+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
<UserInfo>
<Account>王五</Account>
<IP>127.0.0.1</IP>
<LastBrowseTime>2005-12-15T16:46:40.6590749+08:00</LastBrowseTime>
<BrowseCount>1</BrowseCount>
</UserInfo>
</UserInfoCollection>
<PageInfo ViewCount="7" />
</PageBrowseCounter>
当用户在经过一段时间间隔后重新浏览该网页,执行的是这段代码:
//判断用户登录间隔
if( DateTime.Now.Subtract( userinfo.LastBrowseTime ) > new TimeSpan( 0 , 0 , this.IncreseCountInterval , 0 , 0 ) )
{
userinfo.BrowseCount++;
userinfo.LastBrowseTime = DateTime.Now;
//更新config文件中的信息
pbcd.PageInfo.ViewCount++;
}
if( DateTime.Now.Subtract( userinfo.LastBrowseTime ) > new TimeSpan( 0 , 0 , this.IncreseCountInterval , 0 , 0 ) )
{
userinfo.BrowseCount++;
userinfo.LastBrowseTime = DateTime.Now;
//更新config文件中的信息
pbcd.PageInfo.ViewCount++;
}
这段代码执行起来没有报错,执行完成以后发现xml文件中该用户的信息并没有更改,我确认这段代码已经被执行了。

浙公网安备 33010602011771号