Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8236667
  • 博文数量: 444
  • 博客积分: 10593
  • 博客等级: 上将
  • 技术积分: 3852
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-09 15:26
文章分类

全部博文(444)

文章存档

2014年(1)

2013年(10)

2012年(18)

2011年(35)

2010年(125)

2009年(108)

2008年(52)

2007年(72)

2006年(23)

分类: 系统运维

2008-05-15 09:31:03

MOSS中文档点击率统计的实现方法
在知识管理中,文档的的点击率是个很重要的指标,但MOSS中并没有直接提供这样的功能。Audit提供了类似的功能,但因为他是集中记录在数据库中,不能直接体现在文章的自定义列中,导致一定的不方便。
故这里采用在Global.asax中(HttpModule或者HttpHandler也是一样的)记录的请求的方法来统计点击率。
需要注意的地方:
1.
建立站点之后,站点的根目录自动会创建一个Global.asax文件,这个文件的内容是:
<%@ Assembly Name="Microsoft.SharePoint"%><%@ Application Language="C#" Inherits="Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication" %>
这是不能去掉的,因为这里面调用了MOSS的DLL做了很多相关事情。
2.
因为要访问MOSS站点,因此代码不能写在BeginRequest中,而需要在通过验证之后的某个事件,这里用的是PreRequestHandlerExecute。
3.
因为要访问文档库并要更新相关更新列,有的查看者可能没有权限,所以必须提升权限。在提升权限时要记住重新打开SPWeb,而不能使用Context获取的SPWeb。
4.
如果开启了版本纪录,在更新列的时候会产生新版本,因此需要临时关闭版本纪录,更新之后再恢复。
5.
在AppSettings里面配置用于记录点击次数的列名。
 
源代码如下:
<%@ Assembly Name="Microsoft.SharePoint"%><%@ Application Language="C#" Inherits="Microsoft.SharePoint.ApplicationRuntime.SPHttpApplication" %>
 
使用方法:
1.把以上代码保存为Global.assx放在站点根目录
2.在web.config的appSettings中添加HitsColumnName的配置
3.在需要统计点击率的文档库中添加对应的列,类型为数字。
阅读(4008) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-07-22 21:53:10

你好,这个代码我在一个网站上也看过 第一步中Global.assx我是保存为原文件(Global.asax) 二步:添加 结果网站都打不开了,页面出错 楼主有解决的办法么,如果可以的话能否指点 我的Mail地址xyzwang@msic.com.cn