NamedPipeClientStream не может получить доступ к NamedPipeServerStream в сеансе 0

У меня есть NamedPipeClientStream, который подключается к NamedPipeServerStream. Они обмениваются парой сообщений, а затем NamedPipeClientStream закрываются, а NamedPipeServerStream воссоздает и продолжает прослушивание клиентских каналов. (Я не могсделать рабочий асинхронный серверный канал, так что это своего рода собачья гвоздь)

Клиент-серверное взаимодействие отлично работает во время моего клиентаПотоки запускаются из обычных пользовательских сессий.

Но есть ситуация, когда клиентский канал запускается из сеанса 0 на Win7 и сервере win2008. Когда это произошло, у меня была ошибка в потоке клиента: "

Доступ к пути запрещен

В чем проблема? Как этого избежать?

Прости я могуне могу сказать вам больше информации об исключении. Только у меня есть это сообщение в журнале. И я могу'я могу отладить мою программу с нуля?

Код потока сервера:

PipeSecurity ps = new PipeSecurity();
System.Security.Principal.SecurityIdentifier sid = new System.Security.Principal.SecurityIdentifier(System.Security.Principal.WellKnownSidType.BuiltinUsersSid, null);
PipeAccessRule par = new PipeAccessRule(sid, PipeAccessRights.ReadWrite, System.Security.AccessControl.AccessControlType.Allow);
ps.AddAccessRule(par);
pipeClientConnection = new NamedPipeServerStream(General.PIPENAME, PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous, General.BUFFERSIZE, General.BUFFERSIZE, ps);
Console.Write("Waiting for client connection...");
IAsyncResult result = pipeClientConnection.BeginWaitForConnection(OnPipeConnected, pipeClientConnection);

Может, что-то не так с настройками безопасности?

И код клиента:

using (NamedPipeClientStream pipeStream = new NamedPipeClientStream(".", General.PIPENAME, PipeDirection.InOut))
{
    try
    {
        Console.WriteLine("Connecting with pipe...");
        pipeStream.Connect(General.CONNECTIONTIMEOUT);
        Console.WriteLine("Pipe connection established");
        //..do something..
    }
    //...
}

Сервер запускается как служба Windows под LocalSystem. Клиент - это простое консольное приложение. Это's запускается другим приложением, запущенным из сервиса LocalSystem.

Ответы на вопрос(1)

Ваш ответ на вопрос