internal static bool TryCreate(BindingElementCollection elements, out Binding binding) { UnifiedSecurityMode mode; NetMsmqSecurity security; binding = null; if (elements.Count > 3) { return(false); } SecurityBindingElement sbe = null; BinaryMessageEncodingBindingElement encoding = null; MsmqTransportBindingElement msmq = null; foreach (BindingElement element4 in elements) { if (element4 is SecurityBindingElement) { sbe = element4 as SecurityBindingElement; } else if (element4 is TransportBindingElement) { msmq = element4 as MsmqTransportBindingElement; } else if (element4 is MessageEncodingBindingElement) { encoding = element4 as BinaryMessageEncodingBindingElement; } else { return(false); } } if (!IsValidTransport(msmq, out mode)) { return(false); } if (encoding == null) { return(false); } if (!TryCreateSecurity(sbe, mode, out security)) { return(false); } NetMsmqBinding binding2 = new NetMsmqBinding(security); binding2.InitializeFrom(msmq, encoding); if (!binding2.IsBindingElementsMatch(msmq, encoding)) { return(false); } binding = binding2; return(true); }
internal static bool TryCreate(BindingElementCollection elements, out Binding binding) { binding = null; if (elements.Count > 3) return false; SecurityBindingElement security = null; BinaryMessageEncodingBindingElement encoding = null; MsmqTransportBindingElement transport = null; foreach (BindingElement element in elements) { if (element is SecurityBindingElement) security = element as SecurityBindingElement; else if (element is TransportBindingElement) transport = element as MsmqTransportBindingElement; else if (element is MessageEncodingBindingElement) encoding = element as BinaryMessageEncodingBindingElement; else return false; } UnifiedSecurityMode mode; if (!IsValidTransport(transport, out mode)) return false; if (encoding == null) return false; NetMsmqSecurity netMsmqSecurity; if (!TryCreateSecurity(security, mode, out netMsmqSecurity)) return false; NetMsmqBinding netMsmqBinding = new NetMsmqBinding(netMsmqSecurity); netMsmqBinding.InitializeFrom(transport, encoding); if (!netMsmqBinding.IsBindingElementsMatch(transport, encoding)) return false; binding = netMsmqBinding; return true; }
internal static bool TryCreate(BindingElementCollection elements, out Binding binding) { UnifiedSecurityMode mode; NetMsmqSecurity security; binding = null; if (elements.Count > 3) { return false; } SecurityBindingElement sbe = null; BinaryMessageEncodingBindingElement encoding = null; MsmqTransportBindingElement msmq = null; foreach (BindingElement element4 in elements) { if (element4 is SecurityBindingElement) { sbe = element4 as SecurityBindingElement; } else if (element4 is TransportBindingElement) { msmq = element4 as MsmqTransportBindingElement; } else if (element4 is MessageEncodingBindingElement) { encoding = element4 as BinaryMessageEncodingBindingElement; } else { return false; } } if (!IsValidTransport(msmq, out mode)) { return false; } if (encoding == null) { return false; } if (!TryCreateSecurity(sbe, mode, out security)) { return false; } NetMsmqBinding binding2 = new NetMsmqBinding(security); binding2.InitializeFrom(msmq, encoding); if (!binding2.IsBindingElementsMatch(msmq, encoding)) { return false; } binding = binding2; return true; }
internal static bool TryCreate(BindingElementCollection elements, out Binding binding) { binding = null; if (elements.Count > 3) { return(false); } SecurityBindingElement security = null; BinaryMessageEncodingBindingElement encoding = null; MsmqTransportBindingElement transport = null; foreach (BindingElement element in elements) { if (element is SecurityBindingElement) { security = element as SecurityBindingElement; } else if (element is TransportBindingElement) { transport = element as MsmqTransportBindingElement; } else if (element is MessageEncodingBindingElement) { encoding = element as BinaryMessageEncodingBindingElement; } else { return(false); } } UnifiedSecurityMode mode; if (!IsValidTransport(transport, out mode)) { return(false); } if (encoding == null) { return(false); } NetMsmqSecurity netMsmqSecurity; if (!TryCreateSecurity(security, mode, out netMsmqSecurity)) { return(false); } NetMsmqBinding netMsmqBinding = new NetMsmqBinding(netMsmqSecurity); netMsmqBinding.InitializeFrom(transport, encoding); if (!netMsmqBinding.IsBindingElementsMatch(transport, encoding)) { return(false); } binding = netMsmqBinding; return(true); }