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
- Metafile.cs
- SecurityManager.cs
- JoinGraph.cs
- FamilyTypefaceCollection.cs
- CultureInfo.cs
- Point3D.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- ProtocolsConfigurationEntry.cs
- BulletedList.cs
- SimpleType.cs
- Stroke.cs
- RangeBaseAutomationPeer.cs
- Point3DCollection.cs
- AutoGeneratedFieldProperties.cs
- PermissionSet.cs
- ObservableDictionary.cs
- CacheEntry.cs
- DbConnectionPoolGroup.cs
- TypeConverterHelper.cs
- Color.cs
- XmlCharCheckingReader.cs
- RegexFCD.cs
- PageVisual.cs
- ValidationErrorInfo.cs
- Socket.cs
- TabPageDesigner.cs
- ArgumentOutOfRangeException.cs
- UnsafeNativeMethodsTablet.cs
- EntityKeyElement.cs
- BasicBrowserDialog.cs
- MatrixCamera.cs
- DateTimeStorage.cs
- UnitySerializationHolder.cs
- MailSettingsSection.cs
- Maps.cs
- peernodestatemanager.cs
- TableLayoutColumnStyleCollection.cs
- ExecutionContext.cs
- X509Certificate2Collection.cs
- querybuilder.cs
- SchemaCompiler.cs
- TableLayoutStyle.cs
- SynchronizedKeyedCollection.cs
- StructuralObject.cs
- LocatorPart.cs
- ModelItemDictionary.cs
- OracleInternalConnection.cs
- DLinqDataModelProvider.cs
- Assert.cs
- ParseNumbers.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- InternalControlCollection.cs
- DataServiceQueryOfT.cs
- BmpBitmapDecoder.cs
- ListParaClient.cs
- RequestQueryProcessor.cs
- ScriptingSectionGroup.cs
- DSASignatureDeformatter.cs
- NonParentingControl.cs
- DetailsViewPagerRow.cs
- XmlSerializer.cs
- DataGridViewCellEventArgs.cs
- PresentationAppDomainManager.cs
- HtmlLiteralTextAdapter.cs
- GradientBrush.cs
- EntityContainer.cs
- InternalRelationshipCollection.cs
- PaperSize.cs
- MgmtResManager.cs
- NullableBoolConverter.cs
- TerminatorSinks.cs
- TypedRowGenerator.cs
- InputProcessorProfilesLoader.cs
- WebColorConverter.cs
- CqlBlock.cs
- TdsParserSessionPool.cs
- DataException.cs
- XmlDataDocument.cs
- WebServiceAttribute.cs
- RuntimeTransactionHandle.cs
- MultipartIdentifier.cs
- FormsAuthenticationTicket.cs
- ElementNotAvailableException.cs
- KeyPullup.cs
- TypeNameParser.cs
- TraceSource.cs
- MemoryMappedFile.cs
- KerberosSecurityTokenProvider.cs
- TextSelection.cs
- ObjectDataSource.cs
- MetadataHelper.cs
- SourceChangedEventArgs.cs
- WeakEventTable.cs
- BinaryEditor.cs
- RichTextBox.cs
- SapiAttributeParser.cs
- TCEAdapterGenerator.cs
- TextEditorThreadLocalStore.cs
- VirtualizingStackPanel.cs
- AttributeParameterInfo.cs