0

次のようなファイルを保存しようとしています:

 FileStream file = 
     new FileStream(“C:\\temp”, FileMode.Create, System.IO.FileAccess.Write);
 Byte[] bytes = new byte[file.Length];
 File.Read(bytes, 0, (int)file.Length);
 File.Write(bytes, 0, bytes.Length);
 File.Close();
 File.Close();

次に、次のエラーが表示されます。

パス「C:\temp」へのアクセスが拒否されました。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.UnauthorizedAccessException: パス 'C:\temp' へのアクセスが拒否されました。

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 アカウントを強調表示し、必要なアクセスのボックスをオンにします。

Windows 7 と Windows 8 の両方のマシンでこれを実行しましたが、同じエラー メッセージが表示されました。PC の管理者の役割を変更し、すべてのユーザーに完全な制御を与え、ファイルから「読み取り専用」属性を削除しても、同じエラーが発生しました。サムドライブも使ってみました。

また、ファイルから「読み取り専用」属性を削除した後、設定が取られなかったかのように常に返されることにも気付きました。

Windows 7 マシンでもこの修正を試みました: http: //fixmywin.com/fix-windows-7-access-denied-error-and-permission-ownership-problem /...それでも同じエラーです。私はこの問題で約5時間後にあきらめました。どうすればこれを修正できますか?

助けてくれてありがとう!

4

1 に答える 1

0

IIS で、サイトが実行されている ApplicationPool を確認し、[詳細設定] を選択して、アプリケーション プールが使用しているユーザーを見つけます。特に変更しない限り、これは通常「NETWORK SERVICE」になります。次に、フォルダー c:\temp >> プロパティ >> セキュリティを右クリックし、「ネットワーク サービス」(または他のユーザー) を「変更」、「フル コントロール」、またはアプリの適切なアクセス許可で追加します。

于 2013-01-10T06:19:55.693 に答える