C# 命名管道中客户端访问服务器时,出现“对路径的访问被拒绝”

先还原一下我出现错误的情景:我用C#控制台写了一个命名管道服务器,然后用ASP.NET写了一个客户端访问服务器,运行之后出现了下面的错误:

 

 

原因:服务器端的访问权限不够,所以是服务器端的问题,需要增加访问权限。(网上很多都说是文件夹的权限不够,情况不同,不适用于我这种情况)
解决办法:
(1)在服务器端相应地方添加以下代码。

 

PipeSecurity pse = new PipeSecurity();
pse.SetAccessRule(new PipeAccessRule("Everyone", PipeAccessRights.ReadWrite, System.Security.AccessControl.AccessControlType.Allow));//设置访问规则

NamedPipeServerStream npss = new NamedPipeServerStream(_pipName, PipeDirection.InOut, 10, PipeTransmissionMode.Message, PipeOptions.Asynchronous, 1024, 1024, pse, HandleInheritability.None);

 

添加之后,问题解决。
(2)在IIS中的默认应用程序池–>高级设置…–>标识改成Local System可以解决该问题。

 

 

解决。

 

posted @ 2020-09-15 17:13  邃蓝星空  阅读(1193)  评论(0编辑  收藏  举报