public AclSecuredNamedPipeBinding() : base()
        {
            NetNamedPipeBinding standardBinding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.Transport);

            foreach (BindingElement element in standardBinding.CreateBindingElements())
            {
                NamedPipeTransportBindingElement transportElement = element as NamedPipeTransportBindingElement;
                base.Elements.Add(null != transportElement ? new AclSecuredNamedPipeTransportBindingElement(transportElement) : element);
            }

            AddUserOrGroup(WindowsIdentity.GetCurrent().User);
        }
示例#2
0
        public static void Main()
        {
            Uri    baseAddress = new Uri("http://localhost:8000/uesamples/service");
            string address     = "net.pipe://localhost/uesamples/calc";

            // Create a ServiceHost for the CalculatorService type and provide the base address.
            using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
            {
                NetNamedPipeBinding binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
                serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, address);

                // Add a mex endpoint
                ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                smb.HttpGetEnabled = true;
                smb.HttpGetUrl     = new Uri("http://localhost:8001/uesamples");
                serviceHost.Description.Behaviors.Add(smb);

                //<Snippet5>
                long maxBufferPoolSize = binding.MaxBufferPoolSize;
                //</Snippet5>

                //<Snippet6>
                int maxBufferSize = binding.MaxBufferSize;
                //</Snippet6>

                //<Snippet7>
                int maxConnections = binding.MaxConnections;
                //</Snippet7>

                //<Snippet8>
                long maxReceivedMessageSize =
                    binding.MaxReceivedMessageSize;
                //</Snippet8>

                //<Snippet9>
                NetNamedPipeSecurity security = binding.Security;
                //</Snippet9>

                //<Snippet10>
                string scheme = binding.Scheme;
                //</Snippet10>

                //<Snippet11>
                XmlDictionaryReaderQuotas readerQuotas =
                    binding.ReaderQuotas;
                //</Snippet11>

                //<Snippet12>
                BindingElementCollection bCollection = binding.CreateBindingElements();
                //</Snippet12>

                //<Snippet13>
                HostNameComparisonMode hostNameComparisonMode =
                    binding.HostNameComparisonMode;
                //</Snippet13>

                //<Snippet14>
                bool TransactionFlow = binding.TransactionFlow;
                //</Snippet14>

                //<Snippet15>
                TransactionProtocol transactionProtocol =
                    binding.TransactionProtocol;
                //</Snippet15>

                //<Snippet16>
                EnvelopeVersion envelopeVersion =
                    binding.EnvelopeVersion;
                //</Snippet16>

                //<Snippet18>
                TransferMode transferMode =
                    binding.TransferMode;
                //</Snippet18>



                serviceHost.Open();

                Console.WriteLine("The service is ready.");
                Console.WriteLine("Press <ENTER> to terminate service.");
                Console.WriteLine();
                Console.ReadLine();

                serviceHost.Close();
            }
        }