2011-12-15 15 views
2

ファイルを作成し、javascriptコマンドで開くASP.NET Webページのコードの中に関数があります。これはIDEで動作します - ファイルを作成し、ファイルを保存したい場所、ファイルを保存する場所などを質問します - しかし、Webサイトをインストールしてテストすると、UnauthorizedAccessExceptionが発生します。 C:\ inetpub \ wwwroot内のファイルのディレクトリ。C: inetpub wwwrootにプログラムでファイルを作成できません

私は、サービスで動作し、C:\ inetpub \ wwwrootにディレクトリとファイルを作成する同様の機能を持っています。

ウェブページでこれを動作させるにはどうすればよいですか?

if(!Directory.Exists(directory)) 
{ 
     Directory.CreateDirectory(directory); 
} 

StreamWriter SW = new StreamWriter(fullpath, false, Encoding.Unicode); 

SW.WriteLine(/*stuff*/); 

SW.Close(); 

答えて

7

.NETユーザーがディレクトリを右クリックしてセキュリティタブに移動し、適切なユーザーを追加して書き込みチェックボックスをオンにすることで、.NETユーザーに書き込みアクセス権があることを確認する必要があります。

.NET/Windows/IISのバージョンによって異なりますが、通常はNetwork ServiceまたはIUSRです。 IIS7を実行している場合は、アプリケーションプールの詳細設定でIDを確認してください。これは、書き込みアクセスが必要なユーザーであるため、一般的にネットワークサービスです。あなたがそれを行うことができるようになります

6

ディレクトリへの書き込みアクセス権をASP.Netユーザーに付与する必要があります。

+0

は終わりを強制的に周りにどのような方法があります右管理者として実行.exeファイルを右クリックして[管理previledges を使用して、テキストエディタ(メモ帳やTextPadのか何か)を開きユーザーはそれを行うには? – Tory

+0

いいえ、魔法のように許可を盗むことはできません。 – SLaks

+1

@tory実行しているIISのバージョンによって異なります。 IIS6.0を実行している場合、IIS_WPGグループには書き込みアクセス権が必要です。これは役立ちます:[リンク](http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/3648346f-e4f5-474b-86c7-5a86e85fa1ff.mspx?mfr=true) – hawkke

-2

は今

関連する問題