2

swfupload を介してアップロードされたファイルを保存するためのハンドラーとして使用する aspx Web ページがあります。次のようにサーバーにファイルを保存しています。

HttpPostedFile uploadedFile = Request.Files["Filedata"];
uploadedFile.SaveAs(LocationOnServer);

問題は、ファイルを保存した後、IIS を再起動するまで (w3wp.exe によって) ファイルがロックされたままになることです。保存後にファイルを解放する方法はありますか? ありがとう

4

4 に答える 4

3

私は過去に同じ状況に対処しました。ドメイン アカウントでアプリケーション プールを実行する必要があります。つまり、Web アプリケーションが実行されているアプリ プールは、ドメイン ユーザーとして実行するように設定する必要があります。次に、その同じドメイン ユーザーに、アップロードしようとしているフォルダーへのアクセス許可を与える必要があります。ドメイン ユーザーをアプリケーション プールに割り当てるには、IIS のアプリケーション プール ノードから適切なプールを選択し、右クリックしてプロパティを選択します。プロパティ ダイアログ ボックスから [ID] タブを選択し、[構成可能] を選択して、ドメイン アカウントを指定します。次に、フォルダーの同じユーザーにアクセス許可を与える必要があります。

于 2011-07-19T15:54:10.500 に答える
1

ドキュメントが見つかりませんが、HttpPostedFile オブジェクトを破棄する必要があるかもしれません。ほとんどの場合、ファイルがロックされている場合、それらに関連付けられている一部のオブジェクトが適切に破棄されていません。

于 2011-07-19T15:48:28.450 に答える
0

サーバー上のフォルダーのアクセス許可を確認します。アプリケーションがファイルを作成できたが書き込みできなかったという同様の問題が発生し、ファイルがロックされました。

于 2011-07-19T15:52:28.267 に答える
0

Finalize() を呼び出してみましたか?ファイルを取得しようとしている可能性のあるウイルス対策ソフトウェアまたはバックアップ ソフトウェアはありますか?

そのフォルダーへのアクセス許可をまだ持っていない場合、そもそもファイルを書き込むことができなかったので、アクセス許可が問題だとは思いません。

于 2011-07-19T16:33:32.697 に答える