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
- PathGeometry.cs
- DockPatternIdentifiers.cs
- processwaithandle.cs
- WrapPanel.cs
- MobileControlsSection.cs
- CellLabel.cs
- ThumbButtonInfoCollection.cs
- Crypto.cs
- _Semaphore.cs
- GridViewRowPresenter.cs
- SequenceNumber.cs
- OdbcParameter.cs
- SharedStatics.cs
- HttpWebRequestElement.cs
- InstancePersistenceEvent.cs
- XslUrlEditor.cs
- WebScriptEndpointElement.cs
- Bidi.cs
- AutoFocusStyle.xaml.cs
- LogPolicy.cs
- NotCondition.cs
- URLString.cs
- ResourcePool.cs
- SoapTransportImporter.cs
- SqlCommandAsyncResult.cs
- XamlFigureLengthSerializer.cs
- nulltextcontainer.cs
- DataGridViewDataErrorEventArgs.cs
- TdsRecordBufferSetter.cs
- DataServiceException.cs
- DefaultHttpHandler.cs
- StylusDownEventArgs.cs
- EtwTrace.cs
- InputReferenceExpression.cs
- _AutoWebProxyScriptHelper.cs
- ToolStripPanelRenderEventArgs.cs
- FilterableAttribute.cs
- XmlAttributeAttribute.cs
- FunctionNode.cs
- ExternalException.cs
- WebPartTransformerAttribute.cs
- WebPartManagerInternals.cs
- IpcServerChannel.cs
- Debug.cs
- ElasticEase.cs
- WindowsStartMenu.cs
- Matrix3DValueSerializer.cs
- ManagedIStream.cs
- FontDialog.cs
- sqlstateclientmanager.cs
- DiscriminatorMap.cs
- ConstructorNeedsTagAttribute.cs
- OdbcErrorCollection.cs
- DataTableTypeConverter.cs
- ListParaClient.cs
- _LazyAsyncResult.cs
- Input.cs
- VectorCollection.cs
- ReadOnlyDataSourceView.cs
- SecurityCriticalDataForSet.cs
- StylusPoint.cs
- LongValidator.cs
- TableLayoutCellPaintEventArgs.cs
- ItemMap.cs
- SubtreeProcessor.cs
- ExtensionFile.cs
- DataGridAddNewRow.cs
- _HeaderInfoTable.cs
- SystemIcmpV6Statistics.cs
- DocumentSchemaValidator.cs
- MultiBinding.cs
- HashAlgorithm.cs
- ResourceReader.cs
- AdditionalEntityFunctions.cs
- NonClientArea.cs
- WindowsFormsHelpers.cs
- UrlAuthorizationModule.cs
- SafeRegistryKey.cs
- EncoderFallback.cs
- TitleStyle.cs
- SvcMapFileLoader.cs
- SelfIssuedTokenFactoryCredential.cs
- CustomWebEventKey.cs
- PrintDialog.cs
- CodeGenerator.cs
- XamlDesignerSerializationManager.cs
- RelationshipFixer.cs
- DoubleIndependentAnimationStorage.cs
- TextContainerHelper.cs
- SourceChangedEventArgs.cs
- Propagator.Evaluator.cs
- DbConnectionPoolGroupProviderInfo.cs
- LayoutManager.cs
- InstanceNormalEvent.cs
- DbReferenceCollection.cs
- EventLogStatus.cs
- TypeBuilder.cs
- Lease.cs
- PropertySegmentSerializationProvider.cs
- ServiceXNameTypeConverter.cs