0

ファイルを作成してローカルのフォルダーに保存するWindows認証を備えたWebイントラネットアプリケーションがあります。ユーザーがそのフォルダーを開くことができるようにします。

私は現在これをやっています、

System.Diagnostics.Process.Start("C:\ABC");

上記のコードは、ローカル マシンでの開発中に正常に動作していました。しかし、サーバーにデプロイした後は機能しません。ユーザーに、サーバーに存在する C:\ABC フォルダーを開いてもらいたい。

アプリケーション プールに権限を与えたので、ユーザー プールとアプリ プールの両方にフォルダに対する完全な権限が与えられました。そして今、私は単純なエラーを取得しています

アクセスが拒否されました。

しかし、なぜ ?

4

3 に答える 3

0

編集

その投稿を確認してください:System.Diagnostics.Process.StartがIISから機能しない

于 2012-11-09T15:59:18.860 に答える
0

アプリケーションが IIS 内で実行されている場合、適切な IIS ID には、少なくともそのフォルダーを読み取る権限が必要です。使用している実際の ID は、Web アプリケーションの構成方法によって異なります。

于 2012-11-09T16:03:03.120 に答える
0

他の何かがファイルをロックしている場合、アクセスが拒否されることがあります。具体的には、WhoLockMe を使用できます。

また、Process Explorer を使用してファイル アクセスの問題をトラブルシューティングし、そのファイルをフィルター処理することもできます。より詳細な情報が得られることもあります。基本的に、アプリがファイルにアクセスしようとすると、Process Explorer は失敗したアクセスのエラーを表示します。API の例外よりも詳細な情報が表示される場合と表示されない場合があります。実際にはファイルが見つからない場合でも、API が Access Denied と表示することがありますが、これは Process Explorer でより明確になります。

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

于 2012-11-12T07:22:06.583 に答える