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
- CustomWebEventKey.cs
- CodeDomConfigurationHandler.cs
- CompilerTypeWithParams.cs
- SerialPinChanges.cs
- cookieexception.cs
- IntSumAggregationOperator.cs
- NamedElement.cs
- FlowDocumentPage.cs
- MetadataItemSerializer.cs
- Registry.cs
- EasingKeyFrames.cs
- XmlUnspecifiedAttribute.cs
- XmlCustomFormatter.cs
- XPathDocumentNavigator.cs
- dsa.cs
- UrlAuthorizationModule.cs
- XpsPartBase.cs
- SHA256.cs
- RectangleGeometry.cs
- TextBoxLine.cs
- HandlerBase.cs
- MimeTypeMapper.cs
- InternalDispatchObject.cs
- BindableTemplateBuilder.cs
- Matrix3D.cs
- ConfigXmlComment.cs
- EmbeddedMailObject.cs
- StringPropertyBuilder.cs
- CompletionProxy.cs
- ObjectListCommandsPage.cs
- Error.cs
- XmlUtilWriter.cs
- XPathScanner.cs
- IndexingContentUnit.cs
- EntitySetRetriever.cs
- VerbConverter.cs
- DbProviderFactories.cs
- GridLength.cs
- SoapEnumAttribute.cs
- ContractNamespaceAttribute.cs
- PinnedBufferMemoryStream.cs
- MobileCapabilities.cs
- ListBoxChrome.cs
- ConfigXmlCDataSection.cs
- MetadataPropertyCollection.cs
- DataControlFieldCell.cs
- NetworkInformationPermission.cs
- SplitterPanelDesigner.cs
- TimerElapsedEvenArgs.cs
- PointAnimationClockResource.cs
- codemethodreferenceexpression.cs
- ParameterCollection.cs
- PolyQuadraticBezierSegment.cs
- XmlSchemaAny.cs
- regiisutil.cs
- FieldToken.cs
- DoubleCollection.cs
- CheckBoxField.cs
- Switch.cs
- categoryentry.cs
- PolicyException.cs
- BulletChrome.cs
- Symbol.cs
- SecurityKeyIdentifierClause.cs
- RefType.cs
- AnnotationResourceCollection.cs
- WeakReferenceList.cs
- WebBrowserProgressChangedEventHandler.cs
- ProviderIncompatibleException.cs
- PropertyEmitterBase.cs
- CharacterMetrics.cs
- FrameDimension.cs
- SmiSettersStream.cs
- LayoutUtils.cs
- TableItemStyle.cs
- TreeNodeEventArgs.cs
- ToggleButton.cs
- CallbackValidator.cs
- FtpWebRequest.cs
- basenumberconverter.cs
- Transform.cs
- ConditionBrowserDialog.cs
- ContextMenuStripGroup.cs
- HwndHost.cs
- Attachment.cs
- SqlCacheDependencyDatabaseCollection.cs
- StylusSystemGestureEventArgs.cs
- NetworkCredential.cs
- ObjectDataSourceFilteringEventArgs.cs
- SafeUserTokenHandle.cs
- PartBasedPackageProperties.cs
- SiteMapDataSource.cs
- ping.cs
- SHA384Managed.cs
- Cursor.cs
- HttpCapabilitiesSectionHandler.cs
- SettingsBindableAttribute.cs
- WebPartMinimizeVerb.cs
- XPathSingletonIterator.cs
- returneventsaver.cs