2009-04-08 4 views
1

既存のユーザーコントロールを読み込むSharePoint 2007のカスタムWebパーツを作成しました。ユーザーが制御することの1つは、FTPを介したファイルの非同期アップロードです。私は非同期ファイル転送のためのBeginUpload/EndUploadメソッドを持つサードパーティのFTPライブラリを使用しています。また、ユーザーコントロールには、FTPライブラリによって生成されたイベントに基づいて、転送されたバイト数の合計を表示するための更新パネルがあります。必要なすべてのAJAX設定をweb.configに追加しました。SharePoint Webパーツの非同期スレッドが終了する

別のプロジェクトからユーザーコントロールを単独で実行すると、すべてがうまくいきます。しかし、私がコントロールをホストしているWebパーツにアクセスしてアップロードを試みると、FTPライブラリは約64KBを転送し、次にそれが実行されているスレッドは停止します。

スレッド 'Win32 Thread'(0xf34)がコード0(0x0)で終了しました。

これらのうちのいくつかが発生し、FTPライブラリが例外をスローすると(基本的にタイムアウトになります)、IISワーカープロセスが暴走し、すべてが停止します。この仕事をするためにSharePointの設定やWebパーツで何か特別なことがありますか? SPが外れている場合、同じコードがうまく機能するので、SharePointに関するものと思われます。

答えて

0

私はこの問題をMicrosoft SharePointデベロッパーサポートに提出し、私が使用しているFTPライブラリでエラーを再現することができました。これはComponentSpaceに由来します。通常は私がやろうとしていることは可能ですが、何らかの理由でそれが働きたくないだけです。

解決方法は、Request.Files(0).SaveAsを実行してからFTPサーバーにアップロードしてファイルをWebサーバーに保存することでした。理想的ではありませんが、私が望む進歩指標を私に与えてくれます。

0

Chris Tybur、私はFTPコンポーネントを試して、多くのバグを発見しました。私はComponentSpaceのFTPをお勧めしません

関連する問題