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
- Span.cs
- Exception.cs
- DirectoryGroupQuery.cs
- UserValidatedEventArgs.cs
- ChannelManagerHelpers.cs
- SQLMoney.cs
- ManagedWndProcTracker.cs
- HierarchicalDataTemplate.cs
- Boolean.cs
- ProfilePropertyNameValidator.cs
- ExceptionHelpers.cs
- DataGridViewCellValueEventArgs.cs
- DelegateCompletionCallbackWrapper.cs
- XmlAnyAttributeAttribute.cs
- PeerName.cs
- AttributeInfo.cs
- SettingsBase.cs
- AuthenticationConfig.cs
- HtmlSelect.cs
- safex509handles.cs
- HyperLinkField.cs
- Camera.cs
- DataColumnChangeEvent.cs
- XmlDataProvider.cs
- PeerNameRegistration.cs
- ScriptReferenceEventArgs.cs
- ExecutorLocksHeldException.cs
- _LoggingObject.cs
- HyperlinkAutomationPeer.cs
- EndpointConfigContainer.cs
- NetSectionGroup.cs
- PeerNameResolver.cs
- InputReferenceExpression.cs
- ZipIOExtraFieldPaddingElement.cs
- RequestResizeEvent.cs
- AddInEnvironment.cs
- DependencyPropertyHelper.cs
- DragDrop.cs
- MultiDataTrigger.cs
- MimeObjectFactory.cs
- VectorCollection.cs
- StyleBamlTreeBuilder.cs
- HtmlProps.cs
- LineMetrics.cs
- BamlReader.cs
- SafeNativeMethods.cs
- DependencyObjectType.cs
- TemplateBindingExpression.cs
- Parameter.cs
- ListBox.cs
- NetDataContractSerializer.cs
- StylusButton.cs
- SchemaTableColumn.cs
- AlternationConverter.cs
- PageWrapper.cs
- ReversePositionQuery.cs
- WebPartUtil.cs
- UiaCoreTypesApi.cs
- HttpStreamXmlDictionaryReader.cs
- Content.cs
- TranslateTransform.cs
- ListChangedEventArgs.cs
- LogExtentCollection.cs
- LogRecordSequence.cs
- LinkClickEvent.cs
- StateRuntime.cs
- HighlightOverlayGlyph.cs
- IndentedWriter.cs
- LazyTextWriterCreator.cs
- SafeFileHandle.cs
- RadioButton.cs
- ListViewTableRow.cs
- FormsAuthentication.cs
- DataGridViewMethods.cs
- GridViewColumnCollectionChangedEventArgs.cs
- EncoderParameter.cs
- MatrixUtil.cs
- OperandQuery.cs
- ResourceExpressionBuilder.cs
- SplashScreen.cs
- NonBatchDirectoryCompiler.cs
- PasswordTextContainer.cs
- COM2Properties.cs
- ClientFactory.cs
- ModelTypeConverter.cs
- CodeTryCatchFinallyStatement.cs
- XmlIgnoreAttribute.cs
- XmlSchemaRedefine.cs
- ContractAdapter.cs
- ThemeableAttribute.cs
- ValueExpressions.cs
- DisplayMemberTemplateSelector.cs
- PackageStore.cs
- documentsequencetextcontainer.cs
- CellTreeNodeVisitors.cs
- AsyncCompletedEventArgs.cs
- StoreContentChangedEventArgs.cs
- TrackBar.cs
- FixedTextBuilder.cs
- TaiwanLunisolarCalendar.cs