Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartTracker.cs / 1 / 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.Security.Permissions; using System.Web; using System.Web.UI; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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. //------------------------------------------------------------------------------ //// 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.Security.Permissions; using System.Web; using System.Web.UI; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OrthographicCamera.cs
- DigestComparer.cs
- InstanceLockedException.cs
- EDesignUtil.cs
- AuthorizationSection.cs
- XPathNavigatorKeyComparer.cs
- ComboBoxRenderer.cs
- shaper.cs
- TaskFormBase.cs
- FragmentNavigationEventArgs.cs
- XhtmlConformanceSection.cs
- QueuePathDialog.cs
- XsdValidatingReader.cs
- TextReader.cs
- EpmSourceTree.cs
- ObjectStateManagerMetadata.cs
- DefaultParameterValueAttribute.cs
- CodeNamespaceCollection.cs
- DataGridBoolColumn.cs
- HtmlInputButton.cs
- QilPatternFactory.cs
- HighlightVisual.cs
- PermissionSet.cs
- SspiSecurityTokenParameters.cs
- ClientProxyGenerator.cs
- ControlAdapter.cs
- ToolStripOverflow.cs
- CacheChildrenQuery.cs
- TraceHandler.cs
- MessageContractImporter.cs
- CrossAppDomainChannel.cs
- FontFamilyConverter.cs
- GeometryHitTestResult.cs
- HwndHost.cs
- NameValuePermission.cs
- DispatcherHooks.cs
- ReadOnlyPropertyMetadata.cs
- ExpressionBuilder.cs
- DataKeyArray.cs
- PageAdapter.cs
- ValueHandle.cs
- XmlSchemaCollection.cs
- SortedDictionary.cs
- ParallelTimeline.cs
- _HeaderInfo.cs
- DependencyPropertyDescriptor.cs
- KeyboardEventArgs.cs
- DataControlFieldHeaderCell.cs
- VBIdentifierName.cs
- ArrangedElementCollection.cs
- NavigationWindow.cs
- WebPartDisplayModeEventArgs.cs
- InlineUIContainer.cs
- CqlParser.cs
- diagnosticsswitches.cs
- ToolStripDesignerUtils.cs
- VisualBrush.cs
- VirtualizedCellInfoCollection.cs
- ExtensionQuery.cs
- BufferedGraphicsManager.cs
- RpcCryptoRequest.cs
- ResourceDescriptionAttribute.cs
- RegistryExceptionHelper.cs
- HtmlInputPassword.cs
- webclient.cs
- PerformanceCounterPermission.cs
- SerializationFieldInfo.cs
- TextView.cs
- InternalConfigRoot.cs
- SchemaTypeEmitter.cs
- DockingAttribute.cs
- BrowserTree.cs
- Compiler.cs
- ExceptQueryOperator.cs
- SafeEventLogReadHandle.cs
- AsymmetricKeyExchangeDeformatter.cs
- IsolatedStorage.cs
- ReadOnlyDictionary.cs
- XmlChildNodes.cs
- StoryFragments.cs
- HtmlGenericControl.cs
- RtType.cs
- Timer.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- StorageMappingItemLoader.cs
- OutOfMemoryException.cs
- DoubleLinkList.cs
- Effect.cs
- WebServiceTypeData.cs
- SortKey.cs
- Constants.cs
- CurrencyManager.cs
- unsafeIndexingFilterStream.cs
- MetadataItemEmitter.cs
- BuildProviderCollection.cs
- TabletDeviceInfo.cs
- SqlGenericUtil.cs
- Byte.cs
- HostingPreferredMapPath.cs
- PerformanceCounterPermissionEntryCollection.cs