Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8350910
  • 博文数量: 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.在需要统计点击率的文档库中添加对应的列,类型为数字。
阅读(4019) | 评论(6) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-03-11 11:11:11

编辑时不统计,怎么解决呀。

sdwjian2009-02-06 15:20:44

在web.config的appSettings中添加HitsColumnName的配置 具体配置应该是:

sdwjian2009-02-06 15:06:02

不好意思,我也只是转载的

RockyChan2008-11-13 16:20:13

测试过有两点疑问: 1、该功能只能在部署了该程序的主页下的文档库使用。 比如说主页是http://test/default.aspx 那么在它下面建立的网站就不能用,如:http://test/Second/default.aspx 2、该功能只能是在以网站形式打开时才有用。 如果用编辑方式打开就不能用,统计不到了。 能告诉我为什么吗?非常感谢

chinaunix网友2008-07-27 22:01:05

怎么主人家不发话呢。 嘿嘿 我想要实现这个功能,找了一圈圈是这样的代码和描述 修改后网站打开没有问题,可是对应的栏位不会计数(值不变,总是初始的1),如果您有什么指教能给我发个邮件么,我的Mail地址xyzwang@msic.com.cn 感谢