示例#1
0
        public NamedPipeBus(IPipeName pipeName)
        {
            _pipeName  = pipeName;
            _ignoreMe  = new HashSet <Guid>();
            _formatter = InitializeSerializer();
            _server    = new NamedPipeServerStream(
                _pipeName.Read,
                PipeDirection.InOut,
                1,
                PipeTransmissionMode.Byte,
                PipeOptions.Asynchronous);

            Debug.WriteLine($"Listening on pipe {_pipeName.Read}...");
            _server.BeginWaitForConnection(WaitForConnectionCallBack, null);
        }
示例#2
0
        public NamedPipeBus(IPipeName pipeName)
        {
            PipeSecurity security = new PipeSecurity();
            var          sid      = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
            NTAccount    account  = (NTAccount)sid.Translate(typeof(NTAccount));

            security.SetAccessRule(new PipeAccessRule(account, PipeAccessRights.ReadWrite, System.Security.AccessControl.AccessControlType.Allow));

            _pipeName  = pipeName;
            _ignoreMe  = new HashSet <Guid>();
            _formatter = InitializeSerializer();
            _server    = new NamedPipeServerStream(
                _pipeName.Read,
                PipeDirection.InOut,
                1,
                PipeTransmissionMode.Byte,
                PipeOptions.Asynchronous,
                4028,
                4028,
                security);

            Debug.WriteLine($"Listening on pipe {_pipeName.Read}...");
            _server.BeginWaitForConnection(WaitForConnectionCallBack, null);
        }