Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Routing / System / ServiceModel / Routing / RoutingUtilities.cs / 1305376 / RoutingUtilities.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Routing { using System; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.Transactions; using SR2 = System.ServiceModel.Routing.SR; using System.Runtime; static class RoutingUtilities { internal const string RoutingNamespace = "http://schemas.microsoft.com/netfx/2009/05/routing"; internal static void Abort(ICommunicationObject commObj, object identifier) { if (TD.RoutingServiceAbortingChannelIsEnabled()) { TD.RoutingServiceAbortingChannel(identifier != null ? identifier.ToString() : string.Empty); } //The Exception contract for ICommunicationObject.Abort is to never throw, anything else is a fatal error. commObj.Abort(); } internal static bool IsMessageUsingWSSecurity(UnderstoodHeaders understoodHeaders) { foreach (MessageHeaderInfo headerInfo in understoodHeaders) { if (string.Equals(headerInfo.Namespace, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", StringComparison.Ordinal) || //wsu string.Equals(headerInfo.Namespace, "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", StringComparison.Ordinal) || //wsse string.Equals(headerInfo.Namespace, "http://docs.oasis-open.org/wss/oasis-wss-wsecurity-secext-1.1.xsd", StringComparison.Ordinal)) //wsse11 { return true; } } return false; } internal static string GetAddressingNamespace(AddressingVersion addressing) { string ns; if (addressing == AddressingVersion.WSAddressingAugust2004) { ns = "http://schemas.xmlsoap.org/ws/2004/08/addressing"; } else if (addressing == AddressingVersion.WSAddressing10) { ns = "http://www.w3.org/2005/08/addressing"; } else if (addressing == AddressingVersion.None) { ns = "http://schemas.microsoft.com/ws/2005/05/addressing/none"; } else { throw FxTrace.Exception.Argument("addressing", SR2.AddressingVersionInvalid(addressing.ToString())); } return ns; } internal static bool IsRoutingServiceNamespace(string contractNamespace) { return string.Equals(contractNamespace, RoutingUtilities.RoutingNamespace, StringComparison.Ordinal); } internal static bool IsTransactedReceive(Binding binding, BindingParameterCollection bindingParameters) { // New school ITransactedBindingElement transactedBindingElement = binding.GetProperty(bindingParameters); if (transactedBindingElement != null) { return transactedBindingElement.TransactedReceiveEnabled; } // Old School foreach (BindingElement element in binding.CreateBindingElements()) { transactedBindingElement = element as ITransactedBindingElement; if (transactedBindingElement != null && transactedBindingElement.TransactedReceiveEnabled) { return true; } } return false; } internal static void SafeRollbackTransaction(CommittableTransaction transaction) { if (transaction != null) { try { transaction.Rollback(); transaction.Dispose(); } catch (TransactionException transactionException) { if (TD.RoutingServiceHandledExceptionIsEnabled()) { TD.RoutingServiceHandledException(transactionException); } } catch (ObjectDisposedException disposedException) { if (TD.RoutingServiceHandledExceptionIsEnabled()) { TD.RoutingServiceHandledException(disposedException); } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BrowserCapabilitiesFactory.cs
- RegistryDataKey.cs
- EventSetter.cs
- MarkupExtensionParser.cs
- SerializationBinder.cs
- InfoCardClaim.cs
- GeometryCombineModeValidation.cs
- TextEmbeddedObject.cs
- DataRowCollection.cs
- SiteMapPath.cs
- WriteLineDesigner.xaml.cs
- StylusPointProperties.cs
- WmlImageAdapter.cs
- DictionaryContent.cs
- ActivityCodeDomSerializer.cs
- DnsPermission.cs
- IdleTimeoutMonitor.cs
- ReflectionTypeLoadException.cs
- Window.cs
- CookieProtection.cs
- RulePatternOps.cs
- FontSource.cs
- ThicknessAnimationBase.cs
- LabelLiteral.cs
- SizeChangedEventArgs.cs
- VirtualDirectoryMapping.cs
- DirectionalLight.cs
- Label.cs
- DllNotFoundException.cs
- WeakRefEnumerator.cs
- FillBehavior.cs
- StreamingContext.cs
- EntityPropertyMappingAttribute.cs
- DiscoveryVersion.cs
- SafeCryptoHandles.cs
- SQlBooleanStorage.cs
- Signature.cs
- IpcChannelHelper.cs
- assemblycache.cs
- PersonalizationStateQuery.cs
- RowTypePropertyElement.cs
- OperationCanceledException.cs
- EntityTypeBase.cs
- Material.cs
- EntityContainerRelationshipSet.cs
- FullTextState.cs
- CompilerHelpers.cs
- SHA512Managed.cs
- NumericUpDown.cs
- ZipIOExtraFieldZip64Element.cs
- TextChangedEventArgs.cs
- DrawItemEvent.cs
- BamlVersionHeader.cs
- MetadataItemCollectionFactory.cs
- CompositeCollectionView.cs
- MessageBox.cs
- EncryptedType.cs
- UnionCqlBlock.cs
- WebPartMovingEventArgs.cs
- HelpKeywordAttribute.cs
- AutomationPeer.cs
- DocumentEventArgs.cs
- ForeignConstraint.cs
- WhileDesigner.cs
- EpmTargetTree.cs
- RadioButtonList.cs
- FixedSOMLineCollection.cs
- TypeDescriptor.cs
- SecurityKeyType.cs
- Stroke2.cs
- XmlObjectSerializer.cs
- ReaderWriterLockSlim.cs
- OrderedEnumerableRowCollection.cs
- MailAddress.cs
- _HTTPDateParse.cs
- WebPartZoneCollection.cs
- LinqDataSourceValidationException.cs
- LoadedOrUnloadedOperation.cs
- WebControlAdapter.cs
- CodeNamespace.cs
- NameSpaceExtractor.cs
- SQLBinaryStorage.cs
- WebPartZone.cs
- TemplatedMailWebEventProvider.cs
- XPathBuilder.cs
- ValidationResult.cs
- ArglessEventHandlerProxy.cs
- PathGradientBrush.cs
- XmlSchemaSubstitutionGroup.cs
- SafeMemoryMappedFileHandle.cs
- PageHandlerFactory.cs
- IMembershipProvider.cs
- XmlAnyAttributeAttribute.cs
- FormViewPageEventArgs.cs
- XmlDocument.cs
- CacheHelper.cs
- DataSourceBooleanViewSchemaConverter.cs
- latinshape.cs
- SeekStoryboard.cs
- ContextMarshalException.cs