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
- InheritanceService.cs
- SoapRpcMethodAttribute.cs
- Intellisense.cs
- ContractBase.cs
- SystemIcmpV6Statistics.cs
- SessionPageStateSection.cs
- UnsafeNativeMethods.cs
- Win32SafeHandles.cs
- ExpressionReplacer.cs
- MethodCallTranslator.cs
- SafeReversePInvokeHandle.cs
- TextSimpleMarkerProperties.cs
- WebOperationContext.cs
- XmlSchemas.cs
- SecurityUtils.cs
- XamlStyleSerializer.cs
- GetKeyedHashRequest.cs
- ListenDesigner.cs
- MetadataPropertyvalue.cs
- LessThanOrEqual.cs
- SchemaRegistration.cs
- SplitContainerDesigner.cs
- FragmentQueryKB.cs
- UserInitiatedNavigationPermission.cs
- AppAction.cs
- Aggregates.cs
- StickyNoteContentControl.cs
- MasterPageParser.cs
- DocumentScope.cs
- ImportCatalogPart.cs
- MultiBinding.cs
- x509utils.cs
- ControlCachePolicy.cs
- WebScriptEnablingElement.cs
- SiteMapPath.cs
- parserscommon.cs
- DataGridViewCellStyleConverter.cs
- InstancePersistenceContext.cs
- Comparer.cs
- CompiledIdentityConstraint.cs
- SessionParameter.cs
- HtmlElementEventArgs.cs
- InstanceKeyCollisionException.cs
- WinFormsSecurity.cs
- Image.cs
- CollectionViewSource.cs
- WebEventCodes.cs
- AdPostCacheSubstitution.cs
- PasswordRecovery.cs
- HitTestResult.cs
- AutoGeneratedField.cs
- CodeExpressionCollection.cs
- SuppressIldasmAttribute.cs
- DrawingVisual.cs
- CustomAssemblyResolver.cs
- StringArrayConverter.cs
- BufferedStream.cs
- BitSet.cs
- TypeToArgumentTypeConverter.cs
- SqlEnums.cs
- SimpleColumnProvider.cs
- HttpContext.cs
- Debug.cs
- SineEase.cs
- __FastResourceComparer.cs
- TypeForwardedToAttribute.cs
- tooltip.cs
- QueryStringConverter.cs
- CompositeScriptReference.cs
- BrushMappingModeValidation.cs
- wmiprovider.cs
- InputBuffer.cs
- DropShadowBitmapEffect.cs
- BuildResult.cs
- DbParameterHelper.cs
- TitleStyle.cs
- WebPartChrome.cs
- GridSplitter.cs
- ProfilePropertyMetadata.cs
- XmlBindingWorker.cs
- MessageFault.cs
- ProcessStartInfo.cs
- ReadOnlyDataSource.cs
- cookieexception.cs
- ConstraintManager.cs
- EmptyControlCollection.cs
- SamlAudienceRestrictionCondition.cs
- SqlConnectionString.cs
- TransactionScope.cs
- ServiceDesigner.xaml.cs
- Serializer.cs
- _NegoStream.cs
- DataKeyArray.cs
- SoapClientMessage.cs
- PageBuildProvider.cs
- RelatedEnd.cs
- OleDbReferenceCollection.cs
- CodeBlockBuilder.cs
- GeometryModel3D.cs
- ExitEventArgs.cs