Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / TransactionChannelFaultConverter.cs / 1 / TransactionChannelFaultConverter.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-------------------
namespace System.ServiceModel.Channels
{
using System;
using System.ServiceModel;
using System.Globalization;
class TransactionChannelFaultConverter: FaultConverter
where TChannel : class, IChannel
{
TransactionChannel channel;
internal TransactionChannelFaultConverter(TransactionChannel channel)
{
this.channel = channel;
}
protected override bool OnTryCreateException(Message message, MessageFault fault, out Exception exception)
{
if(message.Headers.Action == FaultCodeConstants.Actions.Transactions)
{
exception = new ProtocolException(fault.Reason.GetMatchingTranslation(CultureInfo.CurrentCulture).Text);
return true;
}
if(fault.IsMustUnderstandFault)
{
MessageHeader header = this.channel.Formatter.EmptyTransactionHeader;
if(MessageFault.WasHeaderNotUnderstood(message.Headers, header.Name, header.Namespace))
{
exception = new ProtocolException(SR.GetString(SR.SFxTransactionHeaderNotUnderstood, header.Name, header.Namespace, this.channel.Protocol));
return true;
}
}
FaultConverter inner = this.channel.GetInnerProperty();
if (inner != null)
{
return inner.TryCreateException(message, fault, out exception);
}
else
{
exception = null;
return false;
}
}
protected override bool OnTryCreateFaultMessage(Exception exception, out Message message)
{
FaultConverter inner = this.channel.GetInnerProperty();
if (inner != null)
{
return inner.TryCreateFaultMessage(exception, out message);
}
else
{
message = null;
return false;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UrlPropertyAttribute.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- XmlSerializerFaultFormatter.cs
- StateInitializationDesigner.cs
- MessageDroppedTraceRecord.cs
- InstanceCollisionException.cs
- RemotingException.cs
- HttpHandlerActionCollection.cs
- ModifiableIteratorCollection.cs
- ReliableDuplexSessionChannel.cs
- ClientBuildManager.cs
- CharConverter.cs
- IApplicationTrustManager.cs
- MsmqMessageProperty.cs
- ExceptionRoutedEventArgs.cs
- DataObjectMethodAttribute.cs
- GenericPrincipal.cs
- RadialGradientBrush.cs
- DownloadProgressEventArgs.cs
- PreservationFileReader.cs
- KeyManager.cs
- UTF8Encoding.cs
- AmbientLight.cs
- PreviewKeyDownEventArgs.cs
- SystemIcmpV4Statistics.cs
- EntityStoreSchemaGenerator.cs
- activationcontext.cs
- PerformanceCounterPermission.cs
- DefaultValueTypeConverter.cs
- ServicesSection.cs
- RelationshipNavigation.cs
- GridViewColumnCollection.cs
- EventLogRecord.cs
- MouseButtonEventArgs.cs
- GacUtil.cs
- EmptyStringExpandableObjectConverter.cs
- DesignRelationCollection.cs
- PolicyManager.cs
- CharEntityEncoderFallback.cs
- HasCopySemanticsAttribute.cs
- WebPartCollection.cs
- AvTrace.cs
- DeferredTextReference.cs
- Model3DGroup.cs
- DocumentViewerHelper.cs
- DeploymentSection.cs
- GeneralTransform3DTo2DTo3D.cs
- HtmlTableRowCollection.cs
- WorkflowQueue.cs
- ObjectResult.cs
- HtmlGenericControl.cs
- SettingsPropertyNotFoundException.cs
- OpenTypeMethods.cs
- AvTraceDetails.cs
- TreeNodeSelectionProcessor.cs
- XmlChildEnumerator.cs
- ResolvedKeyFrameEntry.cs
- X509WindowsSecurityToken.cs
- arclist.cs
- SpellerInterop.cs
- HandleCollector.cs
- DSASignatureFormatter.cs
- GenericEnumConverter.cs
- UIElementParagraph.cs
- TableCellAutomationPeer.cs
- Vector.cs
- ValidateNames.cs
- Pens.cs
- StackOverflowException.cs
- FrameworkElement.cs
- X509Extension.cs
- DocumentReference.cs
- Attributes.cs
- SelectionUIService.cs
- InkCanvasSelection.cs
- CalloutQueueItem.cs
- AllMembershipCondition.cs
- XmlSchemaChoice.cs
- MenuAdapter.cs
- StoreAnnotationsMap.cs
- CellTreeNode.cs
- ServiceNameElement.cs
- PolicyManager.cs
- MetricEntry.cs
- WindowsTooltip.cs
- Triangle.cs
- ExceptionAggregator.cs
- ExceptionValidationRule.cs
- ClientConfigPaths.cs
- PinProtectionHelper.cs
- SortDescriptionCollection.cs
- WindowsToolbarAsMenu.cs
- ADMembershipUser.cs
- ObjectView.cs
- ContourSegment.cs
- URLString.cs
- XmlAttributeCollection.cs
- AsymmetricAlgorithm.cs
- JoinQueryOperator.cs
- MobileCapabilities.cs