Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FontUnit.cs
- SqlIdentifier.cs
- EntityViewContainer.cs
- AppSettingsExpressionBuilder.cs
- BinaryNode.cs
- Itemizer.cs
- SkinBuilder.cs
- ValueChangedEventManager.cs
- ParsedAttributeCollection.cs
- DataGridCellsPanel.cs
- DesignParameter.cs
- SinglePhaseEnlistment.cs
- XmlSchemaSet.cs
- KeyedPriorityQueue.cs
- DragDropManager.cs
- RuntimeCompatibilityAttribute.cs
- FaultException.cs
- BindingsCollection.cs
- PageSettings.cs
- ApplicationSecurityInfo.cs
- SizeAnimation.cs
- Hash.cs
- PersistenceException.cs
- SeekStoryboard.cs
- HebrewNumber.cs
- SerializationInfoEnumerator.cs
- ResourceDefaultValueAttribute.cs
- ListSurrogate.cs
- GlobalizationAssembly.cs
- LineServicesCallbacks.cs
- RenderData.cs
- BinaryCommonClasses.cs
- COM2PropertyDescriptor.cs
- FixedSOMTableRow.cs
- AttributeConverter.cs
- externdll.cs
- TryCatch.cs
- InteropAutomationProvider.cs
- ListDictionaryInternal.cs
- RedistVersionInfo.cs
- ConnectionPointCookie.cs
- XmlSortKeyAccumulator.cs
- TreeNodeMouseHoverEvent.cs
- unsafeIndexingFilterStream.cs
- ControlBuilder.cs
- XmlNodeChangedEventArgs.cs
- EmbossBitmapEffect.cs
- ADMembershipUser.cs
- SQLInt64.cs
- BaseHashHelper.cs
- XmlDataImplementation.cs
- SocketException.cs
- WebPartZoneBase.cs
- TransportOutputChannel.cs
- BaseServiceProvider.cs
- XmlDataLoader.cs
- XComponentModel.cs
- SmiContext.cs
- CounterSample.cs
- ComPlusSynchronizationContext.cs
- Span.cs
- RC2.cs
- XmlHierarchicalEnumerable.cs
- ApplicationInterop.cs
- ActionMismatchAddressingException.cs
- CompilerGeneratedAttribute.cs
- SystemFonts.cs
- VideoDrawing.cs
- HtmlTableRow.cs
- RootBrowserWindowProxy.cs
- DisplayMemberTemplateSelector.cs
- BamlLocalizableResourceKey.cs
- Roles.cs
- PersonalizationEntry.cs
- SHA1Managed.cs
- DomNameTable.cs
- ProviderSettings.cs
- BitmapPalette.cs
- AxHost.cs
- CaseInsensitiveComparer.cs
- InvalidOleVariantTypeException.cs
- ImageClickEventArgs.cs
- smtpconnection.cs
- ConfigurationLocationCollection.cs
- Line.cs
- SynchronizationLockException.cs
- AssemblyAttributes.cs
- ExeConfigurationFileMap.cs
- recordstatescratchpad.cs
- JoinTreeSlot.cs
- BitVector32.cs
- DbCommandTree.cs
- ParameterInfo.cs
- UpdateRecord.cs
- StringResourceManager.cs
- MultipleViewProviderWrapper.cs
- PropertyPath.cs
- HashCodeCombiner.cs
- DrawingDrawingContext.cs
- SystemColors.cs