风中的猪儿

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  11 随笔 :: 0 文章 :: 40 评论 :: 4 引用

最新评论

Re:moss文档浏览次数统计 风中的猪儿 2009-08-28 10:39  
@jecoso 你的那个问题,以及我在你贴出来的链接上看了一下,那个是SPS2003出现的问题,而sharepoint 2007是没有这个问题的,难道你用的SPS2003? 这个计数的原理就是通过添加自己的HttpModule,对url请求的一个检索,如果是请求.doc文件,则计数。你说的“用断点测试,得到的httpApp.Request.Url.AbsoluteUri这个变量值,一直都不是文档的地址”这个是正常的,所有站点的请求都会触发这个事情,我不过用了FiltrateFile函数来对url来筛选,有可能在这个上面出了点问题 这段代码并不是一个很完整的东西,有很多没有考虑到,比如有些文档库不需要记数,有些需要,都没有加开关的,而是一视同仁了。比如之前有人提到的权限问题便是我没有考虑到的事情。后来虽然修改了一下代码,但是没有经过测试。 你最后说的几个问题,说实话,我也不太清楚,我不搞MOSS已经比较长一段时间了。 第一点,我真的不知道 第二点,你最好是用日志的方式在catch里记下来,写到一个文本里看看错误信息,你中断进去,有时候容易出现一相SPxxxx类里的东西什么超时之类的 第三点,计数自己增加。。这个我也觉得很奇怪了,按道理要有http请求到.doc才会自动增加 总之,这篇文章只能做学习之用,要实际应用,还有很多要考虑的地方,至少我每次看一遍都觉得有不足的地方。
Re:moss文档浏览次数统计 jecoso 2009-08-26 21:52  
终于是通过断点接找到了文档的URL了,页面上的计数也可以增加了,但是还是有如下问题: 1,有一台客户端(Office2003 SP3)打开文档后,计数不会增加,要过好久刷新后才能看到结果;另一台(Office2007)却是一打开文档后,回到IE的文档库页面,计数值就显示增加了;这个跟客户端还有关系么??不懂…… 2,我在断点的过程中发现有错误出现,就是说代码定位到了catch的地 方…… 3,计数不知道为什么会自己增加,我的测试机没有别人在用,我自己没有去点文档的时候,也会自己增加数字,好诡异 谢谢……
Re:moss文档浏览次数统计 jecoso 2009-08-26 20:12  
找到这篇文章,说到: ……于是做了调试跟踪,发现在 HttpModule 中 Request.Url 不是我们想要的 http://localhost/DocLib1/Test.doc,而是一个对我们未知的 http://localhost/_vti_bin/owssvr.dll…… http://blog.joycode.com/liuhuimiao/archive/2007/03/28/99668.joy 搞不懂了,请楼主帮帮忙,也请大家帮帮忙,O(∩_∩)O谢谢先 jecoso(at)gmail.com
Re:moss文档浏览次数统计 jecoso 2009-08-26 20:07  
郁闷,我怎么弄都不行,计数器一直都是0 用断点测试,得到的httpApp.Request.Url.AbsoluteUri这个变量值,一直都不是文档的地址,很多都是比如: http://server/_vti_bin/sitedata_asmx 这样的地址,没办法得到文档的地址…… 我断点测试的是,用户点击文档连接打开文档时的请求 我的服务器是WSS 3.0的 麻烦博主帮忙看看了,O(∩_∩)O谢谢
Re:Infopath通过域名称定位到域节点 风中的猪儿 2009-08-12 17:00  
@流浪鼠 楼上的。你说的问题的确是有,对重复节点这方法不太好用 不过我就是用来处理单个节点的,呵呵 还有你说的iter.MoveNext(); 只会移动到下一个名为nodeName的节点,而不是当前节点的下一个节点,所以不存在你说的问题 效率问题,比起搞一堆的my:xxx/my:xxxxxx/my:xxxx之类的,我还是觉得这样方便一点。。。。效率。。。恩,效率就牺牲点吧。。
Re:moss文档浏览次数统计 风中的猪儿 2009-08-12 16:56  
权限那段我是很早就知道有问题了,后来some yin[未注册用户] 在回复中指出了这个问题,我也就偷懒没有改了 结果。。。。现在还有人回复说这个问题,还有好多在他之后留言的也说有这个问题,于是今天还是改了一下。。。。恩,恩。。。
Re:moss文档浏览次数统计 欣静赏悦 2009-08-06 12:46  
Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(delegate() { SPWeb web = SPContext.Current.Web; 谢谢猪猪,楼主的这段代码,建议改成下面这段,就不会出现楼上的权限错误了. SPSecurity.RunWithElevatedPrivileges(delegate() using (SPSite site = new SPSite(SPContext.Current.Web.Url)) { using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID)) {
Re:moss文档浏览次数统计 EricWang 2009-07-15 17:12  
还没有考虑到在线打开文档,签入文档等操作
re: moss文档浏览次数统计 George Zhang 2009-05-06 10:20  
@王小燕
这是 转换的问题
item[internalName].ToString() 不能正确地把null 转化为字符串。
使用Convert.ToString(item[internalName]) 就可以了。
re: moss文档浏览次数统计 慧回悔汇 2009-03-17 16:48  
为什么我添加完以后每次打开一个Word文档就会+3?
大家有没有遇到这个问题呢?
re: moss文档浏览次数统计 poka 2009-03-11 17:00  
编辑word时, 不增加点点击次数,怎么设置 呢。
re: Infopath通过域名称定位到域节点 流浪鼠 2008-12-01 17:28  
假如是重复表或者重复项的引用不是有 重复的节点名么?

对于单个节点的是很有效。但是效率有没有直接的

XPathNavigator .SelectSingleNode("my:root/my:name",ns)
高了? 还有就是 你的iter.MoveNext(); 是不是会指向你写 空格 换行的元素呢?
re: moss文档浏览次数统计 some yin 2008-11-20 16:16  
楼上们遇到的权限问题是由于代码在提升权限之前没有重新去openWeb而只是使用上下文的web,这段代码的处理方式参考原文:
http://l--l.spaces.live.com/blog/cns!293710B4E8757F1A!561.entry

另外,lz比我考虑得全面得多,:)
re: 在程序中设置infopath中的整型等域值时出错解决方法 http://www.infojetsoft.com/cn 2008-10-18 00:41  
re: moss文档浏览次数统计 xy 2008-08-13 15:06  
@@!!我也出現了13樓的狀況:不是網站管理員的話,啥文件都打不開(提示用戶名與密碼登錄后,文件內容是空的,看不到)
基本上没有看明白,呵呵
re: moss文档浏览次数统计 王小燕 2008-07-24 11:50  
lz,修改之后管理員使用正常,但其余的User只有應用了“浏览数”列的文檔庫使用正常,其余所有的文檔庫文件都無法打開,表現:先提示輸入用戶名和密碼,確定后就提示:拒絕存取和換用戶名登錄 ~~!!
也就是說調試都成問題,打不開的文件不要用瀏覽數的

嘿嘿 忘記我當時做什么了,不過按照樓主的步驟和代碼,網站看起來是沒有異常的,“浏览数”也可以統計
re: moss文档浏览次数统计 阿朱巧 2008-07-08 14:12  
--引用-------------------------------------------------- 王小燕: 頂!!我換了個環境就可以用了感激 -------------------------------------------------------- --引用-------------------------------------------------- 王小燕: 頂!!我換了個環境就可以用了感激 --------------------------------------------------------
我改完web.config后网站打不开,
怎么换环境阿?
re: moss文档浏览次数统计 风中的猪儿 2008-06-23 11:08  
@Anlycp
我想,是我的代码权限控制没有弄好吧,我一直是以管理员帐户登陆开发的,所以没有发现这个问题

建议中断一下,看一下代码运行到哪里时,要求弹出用户登陆对话框,然后将其加入到Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges委托中。
最近项目较忙,没法测试,不好意思哈
re: moss文档浏览次数统计 Anlycp 2008-06-20 22:08  
我把string typeString = ".docx,.doc";
改为string typeString = ".docx,.doc,.xls";

我应用您这个代码,部署完了,当使用系统账号时界面可以进行计数,EXCEL打开也是正常的。而使用低权限的用户登陆时,发现用户打开EXCEL需要输入N次密码才能进入EXCEL界面,而且界面出现“错误:拒绝访问”,且EXCEL中的数据无法查看。

特别奇怪???
您知道是为什么吗?
re: moss文档浏览次数统计 风中的猪儿 2008-06-04 15:48  
@小燕子
呵呵,我这里有定义类型的后缀名呢
string typeString = ".docx,.doc"; // 也可以从配置文件读出来

其实,我的原理就是判断文件请求的url,是否是一个docx文件,你中断看一下你的wmv文件的请求url是什么,然后自己修改一下下面这个函数,应该很容易做到的


// 验证是否是支持的文件类型
bool FiltrateFile(string fileUrl)
{
string s = fileUrl.Substring(fileUrl.LastIndexOf('.'));
return fileTypes.Contains(s);
}
re: moss文档浏览次数统计 小燕子 2008-05-27 17:34  
我用你的源代码在文件类型中添加.wmv想获取视频文件的点击次数
但是好像没有反应,~~!!能帮帮忙么
re: moss文档浏览次数统计 风中的猪儿 2008-05-27 13:04  
@王小燕
都没有注意有人回复了哈,不过你都自己解决了:)
re: 重置sharepoint文档库列表的条码值 风中的猪儿 2008-05-27 13:03  
@alang
呵呵,可能是吧,它竟然有三个Field用来存条码,还有一个直接存的是图片,用text保存的,汗……
re: MOSS的RMS设置问题 风中的猪儿 2008-05-27 13:02  
@拖鞋
我的环境其实也没有配好。我无意之中发现了这种方法可以解决我的问题。。
只能说,这种方法只能做一种尝试,如果没法解决我也没有办法了……
上午在QQ群里看到你问这个问题了……RMS我也是菜鸟一个
re: moss文档浏览次数统计 王小燕 2008-05-27 08:39  
--引用--------------------------------------------------
王小燕: 樓主,問一下:
在向文件庫添加文件(或是使用“總管監視”拖入文件)的時候,瀏覽數默認是空??這樣點擊文件的時候,‘瀏覽數’的值永遠是空。
~~!!不知道可有解決的辦法
--------------------------------------------------------
忘記設置默認值了
~~!!
re: moss文档浏览次数统计 王小燕 2008-05-27 08:35  
樓主,問一下:
在向文件庫添加文件(或是使用“總管監視”拖入文件)的時候,瀏覽數默認是空??這樣點擊文件的時候,‘瀏覽數’的值永遠是空。
~~!!不知道可有解決的辦法
re: MOSS的RMS设置问题 拖鞋 2008-05-26 13:30  
我按你说的做了 还是不行啊 大哥
真的晕了
re: moss文档浏览次数统计 王小燕 2008-05-22 17:03  
頂!!
我換了個環境就可以用了
感激
re: moss文档浏览次数统计 王小燕 2008-05-22 08:20  
我按照第六步修改web.config重新啟動IIS后,網站都打不開 ~~!!
WSS要做的话,那得自己另写方法哦?
学习了
re: MOSS的RMS设置问题 李战 2008-04-28 09:12  
跑一下,谢谢,学习了。
re: 不可更改值的数字栏 风中的猪儿 2008-04-23 14:38  
@星晴
注意一下PublicKeyToken的值
检查一下程序集是否加到GAC里了
re: 不可更改值的数字栏 星晴 2008-04-21 15:36  
你好,我照着你的方法做了,能够看到成功的栏,但是不能新建,新建的时候出现:未正确安装字段类型 AutoWriteUserName3。请转到列表设置页删除此字段。
请问怎么解决。。。

re: moss文档浏览次数统计 pengyuan 2008-01-10 09:42  
@Hua_Hua
当时没有考虑这个问题呢,我试了一下,的确是在下拉菜单的发送到下载副本项是统计不到的,直接右键另存为刷新后是可以正确统计的。
我查了一下,因为请求的url是不一样的,下载副本定向的url是/Docs/_layouts/download.aspx?SourceUrl=%2FDocs%2F2%2FTest1%2Edocx&Source=http%3A%2F%2Fpengyuan%2FDocs%2F2%2FForms%2FAllItems%2Easpx&FldUrl=
这样一串,他是使用download.aspx页面来输出文件的,并不是文件的实际地址,而我设置的过滤器比较简单,只是判断请求url是否是以.doc或docx结尾,这串url里不也包含了Test1%2E.docx(%2E代表“.”url编码)字样么。只要做相应的修改一下
List GetFileTypes()
bool FiltrateFile(string fileUrl)
这两个函数,让别判断为包含 “/Docs/_layouts/download.aspx” 又包含 “%2Edocx” ,这样就可以识别出来了。这个过滤器,应该按需来做吧。
其实你调试进去就可以发现是否捕获到这个url了

还有就是里面的处理问题,对于上面的请求url,下面这一句会报错,因为不是文件实际地址
Microsoft.SharePoint.SPFile file = web.GetFile(fileUrl);

捕获这个请求是肯定捕获到了,MOSS用的是download页面来输出文件,就是url的问题,也没有必要改donwload页面了,因为url里包含了.docx文件地址(=%2FDocs%2F2%2FTest1%2Edocx),你只要相办法从中取出来就OK了
具体代码我就不写出来了吧,应该不难的,我有时间再修改我的代码吧

谢谢你的发现,这的确是个有意思的问题
re: moss文档浏览次数统计 Hua_Hua 2008-01-10 01:14  
通过HttpModule的方式统计计数还是会有落网之鱼!不知pengyuan 有没有试过下载副本是否统计得到?此时,有必要修改DownLoad页面。
re: moss文档浏览次数统记 pengyuan 2008-01-08 09:44  
@个人知识管理
这个,谢谢指出。。~~马上修改
@jianyi0115
你blog里的好东东也不少,呵呵
re: moss文档浏览次数统记 jianyi0115 2008-01-07 22:09  
深受启发。
re: moss文档浏览次数统记 个人知识管理 2008-01-07 19:51  
moss文档浏览次数统记==出错别字了