Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Runtime / Remoting / ClientSponsor.cs / 1305376 / ClientSponsor.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== //+---------------------------------------------------------------------------- // // File: ClientSponsor.cs // // Contents: Agent for keeping Server Object's lifetime in [....] with a client's lifetime // // History: 8/9/00[....] Created // //+--------------------------------------------------------------------------- namespace System.Runtime.Remoting.Lifetime { using System; using System.Collections; using System.Security.Permissions; [System.Security.SecurityCritical] // auto-generated_required [SecurityPermissionAttribute(SecurityAction.InheritanceDemand, Flags=SecurityPermissionFlag.Infrastructure)] [System.Runtime.InteropServices.ComVisible(true)] public class ClientSponsor : MarshalByRefObject, ISponsor { private Hashtable sponsorTable = new Hashtable(10); private TimeSpan m_renewalTime = TimeSpan.FromMinutes(2); public ClientSponsor() { } public ClientSponsor(TimeSpan renewalTime) { this.m_renewalTime = renewalTime; } public TimeSpan RenewalTime { get{ return m_renewalTime;} set{ m_renewalTime = value;} } [System.Security.SecurityCritical] // auto-generated public bool Register(MarshalByRefObject obj) { BCLDebug.Trace("REMOTE", "ClientSponsor Register "+obj); ILease lease = (ILease)obj.GetLifetimeService(); if (lease == null) return false; lease.Register(this); lock(sponsorTable) { sponsorTable[obj] = lease; } return true; } [System.Security.SecurityCritical] // auto-generated public void Unregister(MarshalByRefObject obj) { BCLDebug.Trace("REMOTE", "ClientSponsor Unregister "+obj); ILease lease = null; lock(sponsorTable) { lease = (ILease)sponsorTable[obj]; } if (lease != null) lease.Unregister(this); } // ISponsor method [System.Security.SecurityCritical] public TimeSpan Renewal(ILease lease) { BCLDebug.Trace("REMOTE", "ClientSponsor Renewal "+m_renewalTime); return m_renewalTime; } [System.Security.SecurityCritical] // auto-generated public void Close() { BCLDebug.Trace("REMOTE","ClientSponsor Close"); lock(sponsorTable) { IDictionaryEnumerator e = sponsorTable.GetEnumerator(); while(e.MoveNext()) ((ILease)e.Value).Unregister(this); sponsorTable.Clear(); } } // Don't create a lease on the sponsor [System.Security.SecurityCritical] public override Object InitializeLifetimeService() { return null; } [System.Security.SecuritySafeCritical] // finalizers should be treated as safe ~ClientSponsor() { BCLDebug.Trace("REMOTE","ClientSponsor Finalize"); } } } // 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
- DefaultClaimSet.cs
- ParenthesizePropertyNameAttribute.cs
- ListControlBuilder.cs
- ApplicationManager.cs
- ChangesetResponse.cs
- Latin1Encoding.cs
- DescendantBaseQuery.cs
- MetadataPropertyvalue.cs
- InputReportEventArgs.cs
- SelectionItemPattern.cs
- XmlValidatingReader.cs
- ReflectTypeDescriptionProvider.cs
- OletxEnlistment.cs
- DbConnectionPoolIdentity.cs
- Point3DCollection.cs
- UniqueSet.cs
- LogManagementAsyncResult.cs
- MetadataCacheItem.cs
- RecognitionEventArgs.cs
- PreDigestedSignedInfo.cs
- XmlAutoDetectWriter.cs
- SpeechSeg.cs
- FlowDocumentPage.cs
- TemplatedControlDesigner.cs
- HandledMouseEvent.cs
- AppSecurityManager.cs
- X509ScopedServiceCertificateElementCollection.cs
- SystemIPInterfaceStatistics.cs
- _DisconnectOverlappedAsyncResult.cs
- RequestSecurityToken.cs
- EndPoint.cs
- SQLBinary.cs
- MetaModel.cs
- DelegatingConfigHost.cs
- ProviderBase.cs
- QueryMatcher.cs
- DispatcherExceptionFilterEventArgs.cs
- BamlReader.cs
- NullableDoubleMinMaxAggregationOperator.cs
- ScaleTransform.cs
- XmlDictionaryReaderQuotasElement.cs
- HttpStaticObjectsCollectionWrapper.cs
- AssociativeAggregationOperator.cs
- OutputCacheEntry.cs
- RegisteredExpandoAttribute.cs
- StatusBarPanelClickEvent.cs
- Encoding.cs
- HierarchicalDataBoundControl.cs
- HttpWriter.cs
- FontUnitConverter.cs
- OdbcConnectionFactory.cs
- ConvertersCollection.cs
- SystemEvents.cs
- CustomValidator.cs
- COAUTHINFO.cs
- SqlNodeTypeOperators.cs
- SubMenuStyle.cs
- ResXBuildProvider.cs
- SystemIPGlobalStatistics.cs
- FormClosedEvent.cs
- FormsAuthenticationModule.cs
- TagPrefixInfo.cs
- AnnotationResource.cs
- Utilities.cs
- _DigestClient.cs
- VisualStateManager.cs
- SelectionUIHandler.cs
- DataGridViewDataErrorEventArgs.cs
- JoinTreeNode.cs
- WebPartDisplayMode.cs
- ToolboxComponentsCreatingEventArgs.cs
- BasicViewGenerator.cs
- Wizard.cs
- DetailsViewDeletedEventArgs.cs
- NetTcpSecurityElement.cs
- PreloadedPackages.cs
- TextElementCollection.cs
- SByteConverter.cs
- AvTrace.cs
- DataGridTextBoxColumn.cs
- ResourceAttributes.cs
- ClipboardProcessor.cs
- StyleModeStack.cs
- RelatedPropertyManager.cs
- ConnectorDragDropGlyph.cs
- QueryPageSettingsEventArgs.cs
- Membership.cs
- LOSFormatter.cs
- ParseHttpDate.cs
- ScrollableControlDesigner.cs
- SafePEFileHandle.cs
- ServiceBehaviorElementCollection.cs
- GlyphTypeface.cs
- WinInetCache.cs
- PackageRelationshipSelector.cs
- WebPartHelpVerb.cs
- DesignerSerializationManager.cs
- SelectorItemAutomationPeer.cs
- InputReportEventArgs.cs
- EventWaitHandleSecurity.cs