0
    public class UploadHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
        ...

        // Create the directory if needed...
        if (!Directory.Exists(uploadDir))
        {
            System.Security.AccessControl.DirectorySecurity ds = new System.Security.AccessControl.DirectorySecurity(RivWorks.AppSettings.UploadRoot, System.Security.AccessControl.AccessControlSections.All);
            Directory.CreateDirectory(uploadDir, ds);
        }
        ...
    }

上記の ASHX ファイルのコード スニペットがあり、ローカル環境で正常に動作します。サーバー環境にプッシュするとすぐにエラーは発生しません。ディレクトリが作成されたように見えますが、確認すると、そこにはありません。FLEX アプリ経由で実行すると、次のエラーが発生します。

エラー #2038: ファイル I/O エラー。URL: http://[当社のドメイン].com/UploadHandler.ashx?CompanyID=d229cc80-ca96-4a8a-992c-80c94ac2c6b4

不足しているものはありますか?

アップデート:

  1. ディスク上の任意の場所にファイルを作成できます
  2. ディスク上のどこにもディレクトリを作成できません。

ディレクトリを作成しようとすると、次のエラーが発生します。

プロセスは、この操作に必要な「SeSecurityPrivilege」権限を持っていません。

4

3 に答える 3

2

プログラムがサーバー上の関連ディレクトリへの正しいアクセス権を持っていることを確認しましたか?

使用しているアカウントが制限されているか、ディレクトリがロックされているために適切な権限がない場合、このエラーが表示されます。

于 2009-08-31T21:00:55.470 に答える
0

サイトは ID impersonation=true で実行されていますか? その場合、環境内の資格情報/承認の下で実行されます

于 2009-09-01T09:38:10.127 に答える
0

mkdir() 関数を使用してディレクトリを作成するだけです。パスを定義するには、SERVERMAPPATH 属性を使用できます。

try catch endtry ブロック内で使用して、既存のエラーやその他のエラーを回避します。

于 2012-06-21T07:47:55.233 に答える