Advertisement

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可以解决该问题。
这里写图片描述
解决。

全部评论 (0)

还没有任何评论哟~