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
- DataBindingHandlerAttribute.cs
- OdbcCommand.cs
- Hex.cs
- WebSysDefaultValueAttribute.cs
- NetworkInterface.cs
- EventListenerClientSide.cs
- HiddenField.cs
- StringAnimationUsingKeyFrames.cs
- FormsAuthenticationTicket.cs
- DeferredTextReference.cs
- ObjectManager.cs
- ProbeRequestResponseAsyncResult.cs
- Package.cs
- AsymmetricSignatureDeformatter.cs
- InstanceKeyNotReadyException.cs
- RegexReplacement.cs
- ConcurrentStack.cs
- GridViewColumnHeader.cs
- GroupDescription.cs
- ProfileParameter.cs
- CategoryNameCollection.cs
- WmlFormAdapter.cs
- HyperLinkStyle.cs
- Base64Encoder.cs
- PageVisual.cs
- DataGridSortingEventArgs.cs
- MoveSizeWinEventHandler.cs
- TreeNodeEventArgs.cs
- IndentedTextWriter.cs
- DesignerUtility.cs
- DataServiceQueryProvider.cs
- XmlImplementation.cs
- FloaterParagraph.cs
- PKCS1MaskGenerationMethod.cs
- ProfileBuildProvider.cs
- ControlBuilder.cs
- InputChannelBinder.cs
- StringBuilder.cs
- LinqDataSource.cs
- Identity.cs
- WebColorConverter.cs
- CryptographicAttribute.cs
- CoTaskMemUnicodeSafeHandle.cs
- FigureParagraph.cs
- HyperLinkField.cs
- VirtualPathUtility.cs
- MultiTargetingUtil.cs
- ContextStack.cs
- GridViewColumnHeaderAutomationPeer.cs
- DataSourceBooleanViewSchemaConverter.cs
- UserControlCodeDomTreeGenerator.cs
- FilteredAttributeCollection.cs
- AlternateView.cs
- DataControlField.cs
- MulticastOption.cs
- MetadataItemSerializer.cs
- PropertyKey.cs
- SafeFileMappingHandle.cs
- ExecutionTracker.cs
- TextEffectResolver.cs
- _LocalDataStoreMgr.cs
- NamedPipeChannelFactory.cs
- CSharpCodeProvider.cs
- CodeSnippetCompileUnit.cs
- UITypeEditor.cs
- ToolStripSeparatorRenderEventArgs.cs
- SupportingTokenParameters.cs
- MaskedTextProvider.cs
- DataRowView.cs
- _PooledStream.cs
- StringExpressionSet.cs
- SpotLight.cs
- StylusPointPropertyUnit.cs
- TracedNativeMethods.cs
- Parameter.cs
- PhonemeEventArgs.cs
- AssemblyBuilderData.cs
- XmlAggregates.cs
- InputScopeManager.cs
- WinEventTracker.cs
- Base64Encoding.cs
- EnumerableCollectionView.cs
- BridgeDataRecord.cs
- FieldTemplateUserControl.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- RectangleF.cs
- CapabilitiesUse.cs
- AsymmetricSignatureFormatter.cs
- XmlWrappingReader.cs
- EmbossBitmapEffect.cs
- ExplicitDiscriminatorMap.cs
- OpenFileDialog.cs
- Material.cs
- GenerateTemporaryAssemblyTask.cs
- DataListItem.cs
- ClonableStack.cs
- RegistrySecurity.cs
- DictionaryBase.cs
- MaterialGroup.cs
- ThreadStateException.cs