2011-02-28 77 views

回答

0

一个解决办法可能是使用文档库上传的zip文件,然后挂钩的事件处理程序就可以截获载的文件,并对其进行解压缩,然后你可以决定如何处理它,你甚至可以存储解压缩后的版本并删除原始文件。

你可以在这里看到如何为一个文档库创建一个事件处理的例子:

http://karinebosch.wordpress.com/walkthroughs/event-receivers-walkthrough2/

0

与Zip文件(或任何潜在的大文件)工作的事件接收器的方法有几个限制像在解压缩过程中可能使用了大量的服务器内存或有如果时间过长运行,这意味着你将无法处理任何不平凡的zip文件线程被IIS终止。

有处理这些问题和更多在这里包: http://www.blackbladeinc.com/en-us/products/wsszip/Pages/WhatsNew.aspx

一些什么软件处理是很难只用一个事件接收器操作包括:

  • 基于表单的/索赔基于身份验证
  • 下载和上传非常大(多GB)Zip文件
  • 具有负载平衡Web服务器的SharePoint场
+0

事件处理程序是由OWSTimer处理不是IIS你的意思做的线程可以通过IIS被终止?请详细说明该软件包如何在提取过程中使用比事件处理程序更少的内存? – Luis 2012-08-05 02:29:37

+0

抱歉没有及时回复。事件接收器可以在W3wp.exe进程或在运行OWSTIMER.exe,这取决于事件接收器的类型和它是如何配置的。看看线程[哪个流程做下运行的事件接收器?(http://sharepoint.stackexchange.com/questions/27717/which-process-do-event-receivers-run-under) – 2012-09-22 06:11:48

+0

感谢的答复,是的,这是正确的,如果他们是异步的,你可能应该修改你的答复完成。另外你声称它会使用更少的内存。你能否详细说明一下。我不明白为什么第三方库会在提取过程中使用较少的内存。谢谢 – Luis 2012-09-24 01:10:21