internal static bool TryCreate(BindingElementCollection bindingElements, out Binding binding) { if (bindingElements == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } binding = null; ContextBindingElement element = bindingElements.Find <ContextBindingElement>(); if ((element != null) && (element.ContextExchangeMechanism != ContextExchangeMechanism.HttpCookie)) { Binding binding2; BindingElementCollection elements = new BindingElementCollection(bindingElements); elements.Remove <ContextBindingElement>(); if (NetTcpBinding.TryCreate(elements, out binding2)) { NetTcpContextBinding binding3 = new NetTcpContextBinding((NetTcpBinding)binding2) { ContextProtectionLevel = element.ProtectionLevel, ContextManagementEnabled = element.ContextManagementEnabled }; binding = binding3; } } return(binding != null); }
internal static new bool TryCreate(BindingElementCollection bindingElements, out Binding binding) { if (bindingElements == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElements"); } binding = null; ContextBindingElement contextBindingElement = bindingElements.Find <ContextBindingElement>(); if (contextBindingElement != null && contextBindingElement.ContextExchangeMechanism != ContextExchangeMechanism.HttpCookie) { BindingElementCollection bindingElementsWithoutContext = new BindingElementCollection(bindingElements); bindingElementsWithoutContext.Remove <ContextBindingElement>(); Binding netTcpBinding; if (NetTcpBinding.TryCreate(bindingElementsWithoutContext, out netTcpBinding)) { NetTcpContextBinding contextBinding = new NetTcpContextBinding((NetTcpBinding)netTcpBinding); contextBinding.ContextProtectionLevel = contextBindingElement.ProtectionLevel; contextBinding.ContextManagementEnabled = contextBindingElement.ContextManagementEnabled; binding = contextBinding; } } return(binding != null); }