2011-02-28 7 views

答えて

0

解決策は、ドキュメントライブラリを使用してzipドキュメントをアップロードし、アップロードしたドキュメントをインターセプトして解凍するイベントハンドラをフックアップすることです。解凍したバージョンと元のファイルをドロップします。

ドキュメントライブラリのイベントハンドラを作成する方法についてここでは例を見ることができます:

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

0

Zipファイル(または任意の潜在的に大きな文書)を扱うためのイベントレシーバのアプローチはいくつかの制限がありますこれは、解凍プロセス中に多数のサーバーメモリを使用する可能性があります。実行に時間がかかりすぎると、IISによってスレッドが終了する可能性があります。つまり、通常のzipファイルを処理できません。

ここで、これらの問題などを扱うパッケージがあります: http://www.blackbladeinc.com/en-us/products/wsszip/Pages/WhatsNew.aspx

ちょうどイベントレシーバで行うのは難しいです、そのソフトウェアのハンドルが含ま何の一部:

  • フォームベース/クレームはベースの認証
  • 非常に大きな(マルチギガバイト)Zipファイルのダウンロードとアップロード
  • 負荷分散されたWebサーバーを備えたSharePointファーム
+0

イベントハンドラはIISではなくOWSTimerによって処理されます.IISによってスレッドが終了されるとはどういう意味ですか?また、そのソフトウェアパッケージが、イベントハンドラよりも抽出プロセスでのメモリ使用量が少ない方法について詳しく説明してください。 – Luis

+0

申し訳ありませんが早く反応しません。イベントレシーバーは、イベントレシーバーのタイプとその構成方法に応じて、W3wp.exeプロセスまたはOWSTIMER.exeで実行できます。スレッドを見てください[イベント受信者はどのプロセスを実行しますか?](http://sharepoint.stackexchange.com/questions/27717/which-process-do-event-receivers-run-under) –

+0

返信ありがとう、はい、それは非同期かどうかに応じて正しいです、あなたはおそらく完了のためにあなたの返信を修正する必要があります。また、より少ないメモリを使用するという主張についてはどうでしょうか。あなたは詳細を教えてくれますか?私はなぜ第三者のライブラリが抽出プロセスでより少ないメモリを使用するのか理解していません。ありがとう – Luis

関連する問題