日期:2014-05-17  浏览次数:20498 次

BS系统如何知道谁查看了信息
.net SQL2005开发的bs系统,信息比较重要,根据需要,要记录每条信息都谁查看过(当然查看详细时要点击列表上的连接才能看到的),什么时间查看的等。这该怎么弄呢,是个什么样的思路?thanks!

------解决方案--------------------
Load 事件里判断.
------解决方案--------------------
在用户点击时候可以通过session记录到当前的用户名,然后再加上当前时间,记录下来到文本文档,记录过程大概是
using System.IO;

 //1.声明文件流对象
FileStream fs = null;
//2.声明写入器
StreamWriter sw = null;


try
{
//1.实例化文件流对象
fs = new FileStream(Path(输出路径), FileMode.Append, FileAccess.Write);
//2.实例化写入器
sw = new StreamWriter(fs);
//3.写入操作
sw.WriteLine(content(当前用户名)+ " " + DateTime.Now.ToLongTimeString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
//4.关闭写入器
sw.Close();
//5.关闭文件流
fs.Close();
}
------解决方案--------------------
在用户点击时候可以通过session记录到当前的用户名,然后再加上当前时间,记录下来到文本文档,记录过程大概是
using System.IO;

 //1.声明文件流对象
FileStream fs = null;
//2.声明写入器
StreamWriter sw = null;


try
{
//1.实例化文件流对象
fs = new FileStream(Path(输出路径), FileMode.Append, FileAccess.Write);
//2.实例化写入器
sw = new StreamWriter(fs);
//3.写入操作
sw.WriteLine(content(当前用户名)+ " " + DateTime.Now.ToLongTimeString());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
//4.关闭写入器
sw.Close();
//5.关闭文件流
fs.Close();
}
------解决方案--------------------
方法很多。写日志。写数据库。
------解决方案--------------------
建个表用来存放日志,找到你要记录的操作,写个方法插入到表里就可以了。比如:要记录查看操作,你就在查看的事件里加这个方法不就行了。
------解决方案--------------------
同上,点击这条信息的时候你记录一下不就行了。这个比判断用户谁来过其实更容易
------解决方案--------------------
这个详细信息页面加载的时候,你直接在页面load方法里面把他的信息写入到数据库啊

------解决方案--------------------
类似于qq空间那样吗?谁访问过要记录一下,用户名、和访问时间吗?

在需要记录的那个页面:

C# code

 if(session["user"]!=null)
{
 // 插入数据库用户名和访问时间 ,用的时候再从数据库中取值
}

------解决方案--------------------
创建一个查询记录表,然后写个触发器,在查询数据的时候向一个查询记录表中插入查看记录。
但是有个疑问,这些数据是经常查看的吗?如果经常查看每次都去写这么个log,后期对与这些log的统计会是个大问题