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
- ManipulationCompletedEventArgs.cs
- WSSecureConversationDec2005.cs
- ReadOnlyHierarchicalDataSourceView.cs
- GridEntry.cs
- WindowsFormsSynchronizationContext.cs
- HtmlControl.cs
- FilterableAttribute.cs
- BindingGroup.cs
- ComponentChangingEvent.cs
- CheckBoxDesigner.cs
- DesignOnlyAttribute.cs
- ObjectListCommandsPage.cs
- SerializationInfo.cs
- SBCSCodePageEncoding.cs
- XmlSubtreeReader.cs
- ToolStripContentPanel.cs
- TraceContextRecord.cs
- State.cs
- MultiPageTextView.cs
- CreateUserWizardStep.cs
- DescendantOverDescendantQuery.cs
- LocalizedNameDescriptionPair.cs
- ApplicationServicesHostFactory.cs
- DbException.cs
- AsyncContentLoadedEventArgs.cs
- TransactionFlowOption.cs
- XmlDownloadManager.cs
- ArrayElementGridEntry.cs
- MouseButton.cs
- ProcessHostServerConfig.cs
- RenamedEventArgs.cs
- FontInfo.cs
- BindableTemplateBuilder.cs
- LinkLabel.cs
- PermissionSetEnumerator.cs
- ScriptRegistrationManager.cs
- NullableLongAverageAggregationOperator.cs
- ProtocolState.cs
- EncodingStreamWrapper.cs
- AssemblyAttributes.cs
- SoapCodeExporter.cs
- WaitForChangedResult.cs
- WebException.cs
- AppSettingsExpressionBuilder.cs
- XPathArrayIterator.cs
- COM2ColorConverter.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- Version.cs
- GlyphRun.cs
- Converter.cs
- OleDbTransaction.cs
- ApplicationSettingsBase.cs
- InputBinder.cs
- TextServicesProperty.cs
- SafeEventHandle.cs
- KeyConstraint.cs
- SettingsSavedEventArgs.cs
- Task.cs
- XamlWriter.cs
- DataKey.cs
- BasicHttpMessageSecurity.cs
- AndCondition.cs
- PrincipalPermissionMode.cs
- DesignerLinkAdapter.cs
- FontUnit.cs
- FieldNameLookup.cs
- DrawingImage.cs
- GridViewActionList.cs
- TableCell.cs
- TagPrefixAttribute.cs
- ADRoleFactoryConfiguration.cs
- SqlDataSourceConfigureSortForm.cs
- ObjectComplexPropertyMapping.cs
- ColumnClickEvent.cs
- SetStoryboardSpeedRatio.cs
- Point3DConverter.cs
- COM2TypeInfoProcessor.cs
- DesignerSerializationVisibilityAttribute.cs
- webclient.cs
- SrgsGrammar.cs
- ChannelServices.cs
- DropAnimation.xaml.cs
- StreamInfo.cs
- WrappedKeySecurityTokenParameters.cs
- GroupItem.cs
- WindowsNonControl.cs
- DataBindingExpressionBuilder.cs
- FontResourceCache.cs
- ModelVisual3D.cs
- ping.cs
- CodeValidator.cs
- TransactionBridge.cs
- DoubleAnimationUsingPath.cs
- PersistChildrenAttribute.cs
- CodeExpressionRuleDeclaration.cs
- HebrewCalendar.cs
- SqlRecordBuffer.cs
- LassoSelectionBehavior.cs
- PerformanceCounterPermissionEntry.cs
- QilIterator.cs