使用AnonymousPipeServerStream时,从w3wp启动的控制台应用程序抛出System.UnauthorizedAccessException

时间:2017-02-22 21:57:58

标签: c# w3wp

我有控制台应用程序,我从w3wp开始作为进程。应该使用网站文件夹下的文件进行操作。一切正常,直到我决定使用AnonymousPipeServerStream与控制台应用程序通信(我想从控制台应用程序接收消息)。

        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是否可能更改控制台应用程序启动的主体或可能导致此类行为的任何想法?

1 个答案:

答案 0 :(得分:0)

这似乎是代码中没有连接管道的错误。对不起噪音