Я устанавливаю доступ NamedPipeStreamServer всем, кто использует этот код:
PipeSecurity pipeSa = new PipeSecurity();
pipeSa.AddAccessRule(new PipeAccessRule("Everyone", PipeAccessRights.ReadWrite, AccessControlType.Allow));
NamedPipeServerStream np = new NamedPipeServerStream("channel", PipeDirection.InOut,1,PipeTransmissionMode.Message,PipeOptions.None,16383,1, pipeSa);
Я получил этот код от Клиент именованного канала не может подключиться к серверу, работающему в качестве сетевой службы . Я проверил это, и это похоже на работу. Однако есть другой ответ Клиент именованного канала, который не может подключиться к серверу, работающему в качестве сетевой службы , в котором говорится, что использование «Все» работает, только если система находится на английском языке sh. Я изменил язык, выполнил вход и выход, и использование «Все» по-прежнему работает.
Поэтому мой вопрос заключается в том, чтобы использовать строку «Все» для правильной настройки именованных серверов потокового канала, чтобы все пользователи могут подключаться?
Редактировать: я нашел WorldSid в качестве лучших вариантов (https://docs.microsoft.com/en-us/dotnet/api/system.security.principal.wellknownsidtype?view=netframework-4.8)