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
- NetworkInterface.cs
- Descriptor.cs
- NativeMethods.cs
- Dump.cs
- ReadWriteObjectLock.cs
- SwitchLevelAttribute.cs
- SqlNamer.cs
- UniqueConstraint.cs
- CacheEntry.cs
- DefaultEvaluationContext.cs
- BooleanAnimationUsingKeyFrames.cs
- FormClosingEvent.cs
- FunctionOverloadResolver.cs
- MenuItemAutomationPeer.cs
- querybuilder.cs
- MergePropertyDescriptor.cs
- MaskedTextProvider.cs
- MailMessage.cs
- SQLChars.cs
- EncryptedReference.cs
- SafeBitVector32.cs
- FlowDocumentPage.cs
- DSACryptoServiceProvider.cs
- ControlDesigner.cs
- XmlSecureResolver.cs
- RootBrowserWindow.cs
- MediaPlayer.cs
- Authorization.cs
- ListSourceHelper.cs
- ToolStripItemTextRenderEventArgs.cs
- TransformationRules.cs
- LocationSectionRecord.cs
- Avt.cs
- CompilerParameters.cs
- StaticTextPointer.cs
- TemplatePropertyEntry.cs
- CommandField.cs
- DBAsyncResult.cs
- DbCommandTree.cs
- HtmlMeta.cs
- UniqueConstraint.cs
- PerformanceCounterNameAttribute.cs
- PolicyStatement.cs
- SqlCacheDependencyDatabaseCollection.cs
- PageRequestManager.cs
- RC2CryptoServiceProvider.cs
- ImageButton.cs
- SeverityFilter.cs
- WindowsGrip.cs
- ActivityInterfaces.cs
- OdbcParameterCollection.cs
- RuleCache.cs
- RegexMatch.cs
- SerialPort.cs
- RepeatButton.cs
- QilCloneVisitor.cs
- PermissionSetTriple.cs
- AbandonedMutexException.cs
- ClassHandlersStore.cs
- PresentationTraceSources.cs
- BitmapEffectInput.cs
- UserValidatedEventArgs.cs
- RadioButtonStandardAdapter.cs
- XmlNamedNodeMap.cs
- ApplicationDirectoryMembershipCondition.cs
- SqlCacheDependency.cs
- ControlCollection.cs
- MessageSecurityOverTcpElement.cs
- QueryStringParameter.cs
- EtwTrace.cs
- EdmToObjectNamespaceMap.cs
- SettingsPropertyWrongTypeException.cs
- NotifyCollectionChangedEventArgs.cs
- MultiSelectRootGridEntry.cs
- MultiBinding.cs
- ColumnClickEvent.cs
- RolePrincipal.cs
- ConstraintCollection.cs
- TaskFormBase.cs
- PointValueSerializer.cs
- TextTrailingWordEllipsis.cs
- DefaultValueAttribute.cs
- TableLayoutPanelCellPosition.cs
- MLangCodePageEncoding.cs
- WindowsSpinner.cs
- X509CertificateTrustedIssuerElement.cs
- MbpInfo.cs
- FileNotFoundException.cs
- objectresult_tresulttype.cs
- XmlException.cs
- RepeaterItemEventArgs.cs
- Marshal.cs
- UnsafeCollabNativeMethods.cs
- XmlSchemaSimpleTypeList.cs
- FrameworkElement.cs
- ResourceLoader.cs
- SafeTimerHandle.cs
- TextEncodedRawTextWriter.cs
- Walker.cs
- XmlIncludeAttribute.cs