NamedPipeClientStream无法访问session0下的NamedPipeServerStream他们交换一些消息,然后关闭NamedPipeClientStream,同时重新创建NamedPipeServerStream并继续侦听客户端管道。(我不能使用异步服务器管道,所以这有点像狗钉子)在从普通用户会话开始的客户端流程中,客户端-服务器交互工作正常。但是在Win7和Win2008服务器上有一种情况是客户端管道是从session0开始的。发生这种情况时,我在客户端流程中收到错误消息:“访问路径被拒绝”这是什么问题?如何避免?抱歉,我无法告诉您更多有关异常的信息。只有我在日志中有这条消息。我不能从零会话调试我的程序,可以吗?服务器流代码:PipeSecurityps=newPipeSecurity();System.Security.Principal.SecurityIdentifiersid=newSystem.Security.Principal.SecurityIdentifier(System.Security.Principal.WellKnownSidType.BuiltinUsersSid,null);PipeAccessRulepar=newPiidpeRule,PipeAccessRights.ReadWrite,System.Security.AccessControl.AccessControlType.Allow);ps.AddAccessRule(par);pipeClientConnection=newNamedPipeServerStream(General.PIPENAME,PipeDirection.InOut,1,PipeTransmissionMode.Byte,PipeOptions.Asynchronous,General.BUFFERSIZEGeneral.BUFFERSIZE,ps);Console.Write("等待客户端连接...");IAsyncResult结果=pipeClientConnection.BeginWaitForConnection(OnPipeConnected,pipeClientConnection);也许安全设置有问题?和客户端代码:使用(NamedPipeClientStreampipeStream=newNamedPipeClientStream(".",General.PIPENAME,PipeDirection.InOut)){try{Console.WriteLine("Connectingwithpipe...");pipeStream.Connect(通用.CONNECTIONT输入输出);Console.WriteLine("管道连接建立");//..dosomething..}//...}服务器在LocalSystemClient下作为Windows服务启动-是一个简单的控制台应用程序。它是由LocalSystem服务启动的另一个应用程序启动的。看起来问题出在安全设置中:应该是:System.Security.Principal.SecurityIdentifiersid=newSystem.Security.Principal.SecurityIdentifier(System.Security.Principal.WellKnownSidType.WorldSid,null);感谢微软社区以上是C#学习教程:NamedPipeClientStream无法访问session0下NamedPipeServerStream共享的所有内容正在使用,需要详细了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
