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
- GridViewDeleteEventArgs.cs
- Label.cs
- FileSystemInfo.cs
- InstanceDataCollectionCollection.cs
- GridView.cs
- XmlSchemaValidator.cs
- HtmlGenericControl.cs
- CacheMode.cs
- MergePropertyDescriptor.cs
- ContentIterators.cs
- TabletDevice.cs
- AlternationConverter.cs
- DataGridColumn.cs
- Walker.cs
- NameValueConfigurationCollection.cs
- DefaultConfirmation.cs
- CommentEmitter.cs
- OleDbStruct.cs
- Storyboard.cs
- RootBuilder.cs
- WsdlInspector.cs
- PropertyTabChangedEvent.cs
- SelfIssuedAuthAsymmetricKey.cs
- ModifierKeysValueSerializer.cs
- ProfileParameter.cs
- CookieParameter.cs
- LZCodec.cs
- XmlSerializerSection.cs
- ScrollableControl.cs
- ShaderRenderModeValidation.cs
- SimpleHandlerFactory.cs
- ItemAutomationPeer.cs
- COM2FontConverter.cs
- DataServiceRequestException.cs
- WmlImageAdapter.cs
- WorkflowInlining.cs
- ObjRef.cs
- PopupEventArgs.cs
- ClientSettingsProvider.cs
- XmlQualifiedName.cs
- StyleCollection.cs
- BasicExpandProvider.cs
- SchemaImporter.cs
- HebrewCalendar.cs
- IdentityNotMappedException.cs
- linebase.cs
- CompositionTarget.cs
- Encoding.cs
- TraceListener.cs
- BaseCodePageEncoding.cs
- CodeMethodReturnStatement.cs
- AssemblyHash.cs
- DataGridViewCellValueEventArgs.cs
- DataObject.cs
- HeaderCollection.cs
- MimeTypeMapper.cs
- WebException.cs
- MetadataItemCollectionFactory.cs
- OperandQuery.cs
- EventRoute.cs
- LoginName.cs
- OleDbPropertySetGuid.cs
- CssTextWriter.cs
- UniqueSet.cs
- EventLogPermissionEntryCollection.cs
- RenderDataDrawingContext.cs
- storepermissionattribute.cs
- WsrmTraceRecord.cs
- HashMembershipCondition.cs
- BitmapEffectGeneralTransform.cs
- SqlXml.cs
- assemblycache.cs
- SolidBrush.cs
- ConstructorBuilder.cs
- PngBitmapEncoder.cs
- InstanceOwnerException.cs
- IntranetCredentialPolicy.cs
- ReaderOutput.cs
- HandlerFactoryWrapper.cs
- ImageIndexConverter.cs
- DataKeyArray.cs
- TextBoxBase.cs
- TraceContext.cs
- AssertUtility.cs
- CurrencyManager.cs
- Missing.cs
- NativeMethods.cs
- Part.cs
- XPathDescendantIterator.cs
- TextContainerChangeEventArgs.cs
- TypeSystem.cs
- UnauthorizedWebPart.cs
- PageParserFilter.cs
- WeakReference.cs
- SystemWebSectionGroup.cs
- CodeGotoStatement.cs
- ContentElement.cs
- FontConverter.cs
- SoapFormatter.cs
- XamlStyleSerializer.cs