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
- LabelInfo.cs
- AttributeCollection.cs
- XmlDocumentSurrogate.cs
- ButtonBase.cs
- StateMachine.cs
- ProxyWebPart.cs
- UnSafeCharBuffer.cs
- SHA1Managed.cs
- DebugController.cs
- RegionInfo.cs
- Size.cs
- wmiprovider.cs
- LinqDataSourceUpdateEventArgs.cs
- TreeViewHitTestInfo.cs
- DrawListViewColumnHeaderEventArgs.cs
- AssemblySettingAttributes.cs
- DetailsViewInsertedEventArgs.cs
- Journaling.cs
- DomainUpDown.cs
- FontEmbeddingManager.cs
- Misc.cs
- BooleanToVisibilityConverter.cs
- MailDefinitionBodyFileNameEditor.cs
- NavigationEventArgs.cs
- FrameworkContextData.cs
- securitycriticaldata.cs
- ServiceBuildProvider.cs
- WebReferenceCollection.cs
- Int32AnimationUsingKeyFrames.cs
- PostBackOptions.cs
- DialogResultConverter.cs
- ProviderConnectionPointCollection.cs
- CheckBoxList.cs
- Events.cs
- ComplusEndpointConfigContainer.cs
- RoutedEventConverter.cs
- WriteTimeStream.cs
- ActivityXamlServices.cs
- OdbcTransaction.cs
- backend.cs
- TextDecorationLocationValidation.cs
- RecordConverter.cs
- Double.cs
- PropertyNames.cs
- DataGridToolTip.cs
- HttpRawResponse.cs
- IntranetCredentialPolicy.cs
- MimeBasePart.cs
- PassportAuthenticationEventArgs.cs
- Group.cs
- TaskFormBase.cs
- DataBindingExpressionBuilder.cs
- TypedTableBase.cs
- WpfXamlMember.cs
- StorageRoot.cs
- _RequestCacheProtocol.cs
- BrowserCapabilitiesFactoryBase.cs
- NGCSerializer.cs
- ActivityBuilderHelper.cs
- TextTabProperties.cs
- StateMachineWorkflowInstance.cs
- RelationshipDetailsCollection.cs
- ResourceDictionary.cs
- _UncName.cs
- FormatterConverter.cs
- CollectionsUtil.cs
- EditingCommands.cs
- WebConfigManager.cs
- TraceSource.cs
- CodeThrowExceptionStatement.cs
- ipaddressinformationcollection.cs
- TdsParserStateObject.cs
- PrintDocument.cs
- EntityWithKeyStrategy.cs
- ComboBoxItem.cs
- ChameleonKey.cs
- ConsumerConnectionPointCollection.cs
- OutputCacheSettings.cs
- SimpleType.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- TypeUtil.cs
- ChannelBinding.cs
- Funcletizer.cs
- ControlAdapter.cs
- IisTraceListener.cs
- MatrixConverter.cs
- _SafeNetHandles.cs
- MasterPageCodeDomTreeGenerator.cs
- RoleService.cs
- QilInvokeLateBound.cs
- HierarchicalDataBoundControl.cs
- OutOfMemoryException.cs
- HtmlInputHidden.cs
- SplitterDesigner.cs
- AutoResetEvent.cs
- StorageComplexTypeMapping.cs
- TraceProvider.cs
- AnnotationResource.cs
- WsatServiceCertificate.cs
- DispatcherBuilder.cs