Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartTracker.cs / 1305376 / WebPartTracker.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Drawing.Design; using System.Web; using System.Web.UI; public sealed class WebPartTracker : IDisposable { private bool _disposed; private WebPart _webPart; private ProviderConnectionPoint _providerConnectionPoint; public WebPartTracker(WebPart webPart, ProviderConnectionPoint providerConnectionPoint) { if (webPart == null) { throw new ArgumentNullException("webPart"); } if (providerConnectionPoint == null) { throw new ArgumentNullException("providerConnectionPoint"); } if (providerConnectionPoint.ControlType != webPart.GetType()) { throw new ArgumentException(SR.GetString(SR.WebPartManager_InvalidConnectionPoint), "providerConnectionPoint"); } _webPart = webPart; _providerConnectionPoint = providerConnectionPoint; if (++Count > 1) { webPart.SetConnectErrorMessage(SR.GetString( SR.WebPartTracker_CircularConnection, _providerConnectionPoint.DisplayName)); } } public bool IsCircularConnection { get { return (Count > 1); } } private int Count { get { int count; _webPart.TrackerCounter.TryGetValue(_providerConnectionPoint, out count); return count; } set { _webPart.TrackerCounter[_providerConnectionPoint] = value; } } void IDisposable.Dispose() { if (!_disposed) { Debug.Assert(Count >= 1); Count--; _disposed = true; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Drawing.Design; using System.Web; using System.Web.UI; public sealed class WebPartTracker : IDisposable { private bool _disposed; private WebPart _webPart; private ProviderConnectionPoint _providerConnectionPoint; public WebPartTracker(WebPart webPart, ProviderConnectionPoint providerConnectionPoint) { if (webPart == null) { throw new ArgumentNullException("webPart"); } if (providerConnectionPoint == null) { throw new ArgumentNullException("providerConnectionPoint"); } if (providerConnectionPoint.ControlType != webPart.GetType()) { throw new ArgumentException(SR.GetString(SR.WebPartManager_InvalidConnectionPoint), "providerConnectionPoint"); } _webPart = webPart; _providerConnectionPoint = providerConnectionPoint; if (++Count > 1) { webPart.SetConnectErrorMessage(SR.GetString( SR.WebPartTracker_CircularConnection, _providerConnectionPoint.DisplayName)); } } public bool IsCircularConnection { get { return (Count > 1); } } private int Count { get { int count; _webPart.TrackerCounter.TryGetValue(_providerConnectionPoint, out count); return count; } set { _webPart.TrackerCounter[_providerConnectionPoint] = value; } } void IDisposable.Dispose() { if (!_disposed) { Debug.Assert(Count >= 1); Count--; _disposed = true; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HwndHostAutomationPeer.cs
- SmiConnection.cs
- XmlLinkedNode.cs
- InOutArgument.cs
- XmlSchemaAppInfo.cs
- CombinedGeometry.cs
- Validator.cs
- DataGridViewRowEventArgs.cs
- SyncOperationState.cs
- DefaultSerializationProviderAttribute.cs
- _RequestCacheProtocol.cs
- DataGridItemEventArgs.cs
- TemplateComponentConnector.cs
- EntityClientCacheKey.cs
- BuildProvidersCompiler.cs
- ScalarOps.cs
- MetadataUtilsSmi.cs
- ConfigurationStrings.cs
- DrawItemEvent.cs
- TextServicesManager.cs
- RC2.cs
- AssemblyHash.cs
- SByteConverter.cs
- VSWCFServiceContractGenerator.cs
- _LoggingObject.cs
- COAUTHIDENTITY.cs
- PerformanceCounterPermissionEntry.cs
- ProtocolsConfigurationHandler.cs
- SchemaNotation.cs
- SafeNativeMethods.cs
- ClipboardData.cs
- FunctionImportMapping.cs
- DrawingAttributes.cs
- AttributeData.cs
- FloaterParagraph.cs
- PropertyManager.cs
- DelegatedStream.cs
- SmiContextFactory.cs
- PolicyChain.cs
- SubpageParagraph.cs
- _Rfc2616CacheValidators.cs
- UnsafeCollabNativeMethods.cs
- MyContact.cs
- ShaperBuffers.cs
- GetRecipientListRequest.cs
- Logging.cs
- TemplateControl.cs
- IndependentAnimationStorage.cs
- ClientScriptManager.cs
- ScriptControlManager.cs
- BackEase.cs
- HeaderCollection.cs
- CssStyleCollection.cs
- TransactedReceiveData.cs
- DbSourceCommand.cs
- Preprocessor.cs
- ForeignConstraint.cs
- QuaternionKeyFrameCollection.cs
- SiteMapProvider.cs
- SerializationHelper.cs
- BinaryObjectWriter.cs
- DataGridViewButtonColumn.cs
- BamlReader.cs
- HybridDictionary.cs
- DefaultValueTypeConverter.cs
- DataFieldEditor.cs
- OwnerDrawPropertyBag.cs
- WebPartActionVerb.cs
- ControlBuilder.cs
- OletxResourceManager.cs
- SmtpNtlmAuthenticationModule.cs
- IsolationInterop.cs
- StringDictionaryEditor.cs
- SmiEventSink_Default.cs
- EventListenerClientSide.cs
- OutArgument.cs
- HuffCodec.cs
- SystemUnicastIPAddressInformation.cs
- DocumentOrderQuery.cs
- DiscoveryClientProtocol.cs
- BoundField.cs
- OptimizedTemplateContent.cs
- TableDetailsRow.cs
- XMLDiffLoader.cs
- EarlyBoundInfo.cs
- ProviderCollection.cs
- ClientScriptManagerWrapper.cs
- CacheChildrenQuery.cs
- XmlComment.cs
- TransactionScopeDesigner.cs
- Italic.cs
- SqlDataSourceDesigner.cs
- baseshape.cs
- TextReader.cs
- SchemaCollectionCompiler.cs
- DiscoveryDocument.cs
- HttpCookie.cs
- ObjectQueryExecutionPlan.cs
- TripleDES.cs
- SamlDoNotCacheCondition.cs