2011-02-28 83 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