public override void Add(EndpointAddressMessageFilter filter, TFilterData data) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter"); } Fx.Assert("EndpointAddressMessageFilter cannot be added to PrefixEndpointAddressMessageFilterTable"); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException("EndpointAddressMessageFilter cannot be added to PrefixEndpointAddressMessageFilterTable")); }
public override bool Remove(EndpointAddressMessageFilter filter) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("filter"); } Fx.Assert("EndpointAddressMessageFilter cannot be removed from PrefixEndpointAddressMessageFilterTable"); throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException("EndpointAddressMessageFilter cannot be removed from PrefixEndpointAddressMessageFilterTable")); }
public virtual bool Remove(EndpointAddressMessageFilter filter) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } if (!filters.Remove(filter)) { return(false); } Candidate can = candidates[filter]; Uri soapToAddress = filter.Address.Uri; CandidateSet cset = null; if (filter.IncludeHostNameInComparison) { cset = toHostLookup[soapToAddress]; } else { cset = toNoHostLookup[soapToAddress]; } candidates.Remove(filter); if (cset.candidates.Count == 1) { if (filter.IncludeHostNameInComparison) { toHostLookup.Remove(soapToAddress); } else { toNoHostLookup.Remove(soapToAddress); } } else { DecrementQNameCount(cset, filter.Address); // Remove Candidate cset.candidates.Remove(can); } RebuildMasks(); return(true); }
public virtual bool Remove(MessageFilter filter) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } EndpointAddressMessageFilter saFilter = filter as EndpointAddressMessageFilter; if (saFilter != null) { return(Remove(saFilter)); } return(false); }
public virtual void Add(EndpointAddressMessageFilter filter, TFilterData data) { if (filter == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull(nameof(filter)); } filters.Add(filter, data); // Create the candidate byte[] mask = BuildMask(filter.HeaderLookup); Candidate can = new Candidate(filter, data, mask, filter.HeaderLookup); candidates.Add(filter, can); CandidateSet cset; Uri soapToAddress = filter.Address.Uri; if (filter.IncludeHostNameInComparison) { if (!_toHostLookup.TryGetValue(soapToAddress, out cset)) { cset = new CandidateSet(); _toHostLookup.Add(soapToAddress, cset); } } else { if (!_toNoHostLookup.TryGetValue(soapToAddress, out cset)) { cset = new CandidateSet(); _toNoHostLookup.Add(soapToAddress, cset); } } cset._candidates.Add(can); IncrementQNameCount(cset, filter.Address); }