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
- Size.cs
- TemplateManager.cs
- ArrayEditor.cs
- DropTarget.cs
- XmlEntity.cs
- AddingNewEventArgs.cs
- CustomCredentialPolicy.cs
- ExternalFile.cs
- DataGridColumnHeader.cs
- WorkflowShape.cs
- AbsoluteQuery.cs
- TextCollapsingProperties.cs
- EndpointBehaviorElement.cs
- RuleSettingsCollection.cs
- NullableFloatAverageAggregationOperator.cs
- TypeDelegator.cs
- ChildrenQuery.cs
- XmlWrappingReader.cs
- MatrixConverter.cs
- RtfControls.cs
- HttpListenerException.cs
- PageCatalogPart.cs
- DataRowComparer.cs
- MarkupCompilePass1.cs
- BitmapEffectDrawingContextState.cs
- TransactionFormatter.cs
- HttpModuleCollection.cs
- ServiceManager.cs
- RegexCompilationInfo.cs
- EDesignUtil.cs
- TypeEnumerableViewSchema.cs
- ControlBindingsCollection.cs
- Site.cs
- SchemaType.cs
- Not.cs
- PersonalizationState.cs
- SizeChangedEventArgs.cs
- ChannelBinding.cs
- BrowserCapabilitiesFactoryBase.cs
- LabelLiteral.cs
- EditorPartCollection.cs
- TextView.cs
- Pts.cs
- WebBaseEventKeyComparer.cs
- PageThemeBuildProvider.cs
- OdbcCommand.cs
- FtpRequestCacheValidator.cs
- PropertyIDSet.cs
- TCPClient.cs
- StaticContext.cs
- ReferenceConverter.cs
- compensatingcollection.cs
- TcpTransportBindingElement.cs
- FacetChecker.cs
- Executor.cs
- COM2Enum.cs
- EdmToObjectNamespaceMap.cs
- BridgeDataRecord.cs
- OdbcUtils.cs
- OdbcParameterCollection.cs
- GridViewUpdatedEventArgs.cs
- StringCollection.cs
- GeometryDrawing.cs
- TextRenderer.cs
- KeyPressEvent.cs
- ServiceHttpModule.cs
- ExpressionEditorSheet.cs
- XamlPathDataSerializer.cs
- RawTextInputReport.cs
- StrongTypingException.cs
- BuildProviderUtils.cs
- EntityException.cs
- RegexBoyerMoore.cs
- RoutedUICommand.cs
- IdentityModelStringsVersion1.cs
- ContentValidator.cs
- DataColumnMappingCollection.cs
- DocumentSequence.cs
- WebPartConnectionsCloseVerb.cs
- StandardCommands.cs
- Filter.cs
- MouseActionValueSerializer.cs
- LinkedResource.cs
- CqlLexerHelpers.cs
- ValidateNames.cs
- GeometryModel3D.cs
- InvalidPropValue.cs
- BaseContextMenu.cs
- SimpleWorkerRequest.cs
- DocumentPageViewAutomationPeer.cs
- Span.cs
- SafeEventLogWriteHandle.cs
- BaseValidator.cs
- HttpRequest.cs
- WebBrowsableAttribute.cs
- ExternalCalls.cs
- OneOf.cs
- TextOnlyOutput.cs
- LinqDataSourceHelper.cs
- TableLayoutSettings.cs