2016-08-17 3 views
1

xmlファイルを作成します。私は作成されたファイルを含むフォルダの所有者です。私のコードは、空のファイルを作成し、私はデバッグするとき、私はこのラインここc#アクセスが拒否され、新しいファイルが作成される

Stream writeOutput = File.Create(Path.Combine(outputLocation, string.Format(FILEFORMAT, agent, Number, FILE_EXTENSIONS.XML))) 

ヘルプしてください

私のコードであるためアクセス拒否エラーを取得:

SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 

     using (Stream writeOutput = File.Create(Path.Combine(outputLocation, string.Format(FILEFORMAT, agent, Number, FILE_EXTENSIONS.XML)))) 
       { 
       using (Stream xmlOutput = OutputFileCreator.CreateOutputXMLFile(Number, rejectionReason)) 
         { 
         byte[] buffer = new byte[xmlOutput.Length]; 
         xmlOutput.Position = 0; 
         xmlOutput.Read(buffer, 0, buffer.Length); 
         writeOutput.Write(buffer, 0, buffer.Length); 
         } 
       }  
    }); 

enter image description here

+0

あなたが書いているパスとは何ですか?これをWindowsマシンで実行している場合は、管理者権限でプログラムを実行する必要があります(ユーザーフォルダ以外のC:\からの任意のパスのデフォルト) – Glubus

+0

フォルダと空の作成済みXMLで投稿を編集します – BKChedlia

+0

アクセス拒否...きれいなメッセージ。プログラムが実行されているユーザーには、そのフォルダへの書き込みアクセス権はありません。したがって、ユーザーがパスへの書き込みアクセス権を持っていることを確認してください。 –

答えて

1

あなたをあなたのコンピュータだけでなく、フォルダにアクセスできるようにする必要があります。フォルダのプロパティのすべてのユーザーまたは物理マシンにアクセスできることを示すYourMachineName $の共有権限を追加してみてください。

+0

私はリモートマシンで作業していますが、私はこのフォルダを作成しますが、私には権利がありません。ファイルが空でも作成方法を教えてください。 – BKChedlia

+0

実際にファイルを作成できますが、書き込みはできません。 – uTeisT

+0

私はフォルダを削除し、それを再作成してC#で上書きします。今は動作します...ありがとうございます – BKChedlia

2

これを実行しているアプリケーションプールIDは何ですか?

SPSecurity.RunWithElevatedPrivileges(delegate() 

このコードブロックは、サイトコレクション管理者特権を持つアプリケーションプールIDで実行されます。そのアイデンティティーには適切な権限がありますか?

はこちらをご覧ください:

https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

+0

はい、私はWebアプリケーションの管理者です – BKChedlia

関連する問題