私はw3wpからプロセスとして起動するコンソールアプリケーションを持っています。アプリケーションはウェブサイトのフォルダの下のファイルで操作する必要があります。 AnonymousPipeServerStreamを使用してコンソールアプリケーションと通信することにした(私はコンソールアプリケーションからメッセージを受け取りたい)まで、すべてうまくいっていました。AnonymousPipeServerStreamを使用すると、w3wpから起動されたコンソールアプリケーションからSystem.UnauthorizedAccessExceptionがスローされます
var pipeServer = new AnonymousPipeServerStream(PipeDirection.In);
var pipeStreamReader = new StreamReader(pipeServer);
ProcessStartInfo si = new ProcessStartInfo(fileName);
si.Arguments = $"{pipeServer.GetClientHandleAsString()} {arguments}";
si.CreateNoWindow = true;
si.UseShellExecute = false;
si.RedirectStandardError = true;
si.RedirectStandardOutput = true;
このコードを追加した後、コンソールアプリは例外でクラッシュし始め
System.UnauthorizedAccessException:パス「Cへのアクセス:\のinetpub \ wwwrootの\ ...が拒否されました。例外がスローされます
コード:
File.Open(this.Path, FileMode.CreateNew);
私はAnonymousPipeServerStreamのすべてとコードをコメントアウトした場合は期待通りに動作します。
AnonymousPipeServerStreamは、コンソールアプリケーションが起動するプリンシパルやそのような動作を引き起こす可能性のあるアイデアを変更する可能性はありますか?
どの命令がその例外(コールスタック)をスローしていますか? – dlatikay
File.Open(this.Path、FileMode.CreateNew);でファイルを作成しようとしました。 –