Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Bridge / Configuration / ProtocolElementCollection.cs / 1 / ProtocolElementCollection.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
using DiagnosticUtility = Microsoft.Transactions.Bridge.DiagnosticUtility;
namespace Microsoft.Transactions.Bridge.Configuration
{
using System;
using System.Configuration;
using System.Xml;
[ConfigurationCollection(typeof(ProtocolElement))]
internal sealed partial class ProtocolElementCollection : ConfigurationElementCollection
{
const string wstxProtocolType10 = ("Microsoft.Transactions.Wsat.Protocol.PluggableProtocol10, "+
"Microsoft.Transactions.Bridge, "+
"Version=" +ThisAssembly.Version + ", " +
"Culture=neutral, "+
"PublicKeyToken="+AssemblyRef.MicrosoftPublicKey);
const string wstxProtocolType11 = ("Microsoft.Transactions.Wsat.Protocol.PluggableProtocol11, "+
"Microsoft.Transactions.Bridge, "+
"Version=" +ThisAssembly.Version + ", " +
"Culture=neutral, "+
"PublicKeyToken="+AssemblyRef.MicrosoftPublicKey);
public ProtocolElementCollection()
{
}
internal void SetDefaults()
{
ProtocolElement element1 = new ProtocolElement();
element1.Type = wstxProtocolType10;
ProtocolElement element2 = new ProtocolElement();
element2.Type = wstxProtocolType11;
this.Add(element1);
this.Add(element2);
this.ResetModified();
}
public ProtocolElement this[int index]
{
get
{
return (ProtocolElement)BaseGet(index);
}
set
{
if (BaseGet(index) != null)
{
BaseRemoveAt(index);
}
BaseAdd(index,value);
}
}
public void AssertBothWsatProtocolVersions()
{
bool found10 = false;
bool found11 = false;
foreach (ProtocolElement protocol in this)
{
if(protocol.Type == wstxProtocolType10)
found10 = true;
else if(protocol.Type == wstxProtocolType11)
found11 =true;
}
if((!found10 & found11) || (found10 & !found11))
{
string protocolStarted;
if(found10)
{
protocolStarted = " Wsat 1.0 ";
}
else
{
protocolStarted = " Wsat 1.1 ";
}
DiagnosticUtility.FailFast("Both Wsat protocol versions should be configured to start up. Only" + protocolStarted + "is started.");
}
}
public void Add(ProtocolElement element)
{
BaseAdd(element);
}
public void Clear()
{
BaseClear();
}
protected override ConfigurationElement CreateNewElement()
{
return new ProtocolElement();
}
protected override Object GetElementKey(ConfigurationElement element)
{
return ((ProtocolElement)element).Type;
}
public int IndexOf(ProtocolElement element)
{
return BaseIndexOf(element);
}
public void Remove(ProtocolElement element)
{
BaseRemove(element.Type);
}
public void Remove(string name)
{
BaseRemove(name);
}
public void RemoveAt(int index)
{
BaseRemoveAt(index);
}
}
}
// 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
- CodeExpressionCollection.cs
- WindowsGraphicsWrapper.cs
- KnownTypesProvider.cs
- IPAddressCollection.cs
- IIS7ConfigurationLoader.cs
- Transactions.cs
- LabelAutomationPeer.cs
- Ray3DHitTestResult.cs
- DataTableClearEvent.cs
- XmlSchemaAnnotation.cs
- WebPartDisplayModeCollection.cs
- EntityDataReader.cs
- BufferedWebEventProvider.cs
- HtmlElementEventArgs.cs
- AssemblyNameUtility.cs
- DataGridViewRowPrePaintEventArgs.cs
- VectorKeyFrameCollection.cs
- DynamicExpression.cs
- XmlDataProvider.cs
- TextOnlyOutput.cs
- ConstraintManager.cs
- CatalogZoneAutoFormat.cs
- WebPartDisplayModeEventArgs.cs
- HandleInitializationContext.cs
- FreezableOperations.cs
- RadioButtonBaseAdapter.cs
- ObjectSet.cs
- MultiBinding.cs
- DataTableMapping.cs
- InlinedAggregationOperator.cs
- SqlConnectionManager.cs
- SqlAliasesReferenced.cs
- NetworkAddressChange.cs
- ContentOperations.cs
- SupportingTokenProviderSpecification.cs
- OraclePermission.cs
- ManualResetEvent.cs
- EditingCommands.cs
- CodeCatchClause.cs
- PlatformNotSupportedException.cs
- Serializer.cs
- InstanceCreationEditor.cs
- CompiledQueryCacheKey.cs
- TiffBitmapDecoder.cs
- HtmlTitle.cs
- JournalEntry.cs
- ImageListStreamer.cs
- BackStopAuthenticationModule.cs
- URI.cs
- WindowsTitleBar.cs
- MouseCaptureWithinProperty.cs
- SqlUserDefinedTypeAttribute.cs
- RefreshResponseInfo.cs
- IdentityHolder.cs
- StatusBarAutomationPeer.cs
- InvokeGenerator.cs
- ConfigXmlSignificantWhitespace.cs
- ToolStripComboBox.cs
- DetailsViewDeleteEventArgs.cs
- AffineTransform3D.cs
- EntityDataSourceReferenceGroup.cs
- SHA1.cs
- NavigatorOutput.cs
- ColumnProvider.cs
- WriteTimeStream.cs
- PolicyStatement.cs
- TableLayoutSettings.cs
- Sql8ConformanceChecker.cs
- TypeDescriptor.cs
- ItemCheckedEvent.cs
- ChooseAction.cs
- ClassHandlersStore.cs
- XmlTextReader.cs
- XmlQueryContext.cs
- DataGridViewRowHeaderCell.cs
- HttpModuleActionCollection.cs
- DecoderExceptionFallback.cs
- OptimizedTemplateContent.cs
- MorphHelpers.cs
- __TransparentProxy.cs
- SessionParameter.cs
- StylusPointProperties.cs
- odbcmetadatacollectionnames.cs
- FieldBuilder.cs
- ContainsSearchOperator.cs
- SecurityHelper.cs
- SessionPageStateSection.cs
- DataGridAddNewRow.cs
- DataGridViewCellStyle.cs
- EndpointConfigContainer.cs
- WebDisplayNameAttribute.cs
- EventLogLink.cs
- MenuEventArgs.cs
- ExpressionTextBoxAutomationPeer.cs
- ErrorHandlerModule.cs
- SystemFonts.cs
- MappingException.cs
- GeneratedCodeAttribute.cs
- ObjectConverter.cs
- IPEndPoint.cs