0

IIS6 で Web サイトを公開しました。

File.WriteAllText("C:\" + txtSaveExport.Text + ".CSV", b.ToString()); でファイルを保存する場合。次のようなエラーが発生します。

em.UnauthorizedAccessException: パス「C:\hj.CSV」へのアクセスが拒否されました。ASP.NET は、要求されたリソースへのアクセスを許可されていません。リソースへのアクセス権を ASP.NET 要求 ID に付与することを検討してください。ASP.NET には、アプリケーションが偽装されていない場合に使用されるベース プロセス ID (通常、IIS 5 または IIS 6 および IIS 7 のネットワーク サービスの {MACHINE}\ASPNET、および IIS 7.5 の構成済みアプリケーション プール ID) があります。アプリケーションが を介して偽装している場合、ID は匿名ユーザー (通常は IUSR_MACHINENAME) または認証された要求ユーザーになります。

ファイルへの ASP.NET アクセスを許可するには、エクスプローラーでファイルを右クリックし、[プロパティ] を選択して、[セキュリティ] タブを選択します。[追加] をクリックして、適切なユーザーまたはグループを追加します。ASP.NET アカウントを強調表示し、必要なアクセスのボックスをオンにします。

これはどのように処理できますか?

4

2 に答える 2

1

そのフォルダー内の Aspnet ユーザーに書き込み権限を付与する必要があります。

これを参照してください: http://devnet.logixml.com/rdPage.aspx?rdReport=Article&dnDocID=209

よろしくお願いします。

于 2012-09-05T08:38:46.997 に答える
0

C: ドライブの下の変数ディレクトリに書き込むのは得策ではありません。C で書き込み権限を付与するのではなく、Web アプリのディレクトリの下にあるディレクトリに書き込むことをお勧めしますServer.MapPath("~")。アプリケーション プールのユーザー アカウントに、アプリ ディレクトリの下の任意のフォルダーへの書き込みアクセス権を付与してください。そうすれば、より安全になります。

于 2012-09-05T08:42:19.537 に答える