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
- dbdatarecord.cs
- IsolatedStorageFile.cs
- BulletChrome.cs
- XPathDescendantIterator.cs
- AdapterDictionary.cs
- SqlFactory.cs
- PerformanceCounterManager.cs
- DataSourceSelectArguments.cs
- WebPartChrome.cs
- WebColorConverter.cs
- PropertyMapper.cs
- GlobalEventManager.cs
- FilteredReadOnlyMetadataCollection.cs
- StateBag.cs
- ActivityWithResultConverter.cs
- DelegatingTypeDescriptionProvider.cs
- SelectedDatesCollection.cs
- DataBindingList.cs
- GraphicsState.cs
- DataRelationPropertyDescriptor.cs
- TextSyndicationContentKindHelper.cs
- ChangeToolStripParentVerb.cs
- SmtpCommands.cs
- RawStylusInputReport.cs
- NativeMethods.cs
- LicFileLicenseProvider.cs
- CodeRegionDirective.cs
- EventWaitHandle.cs
- CreateBookmarkScope.cs
- DataChangedEventManager.cs
- SchemaNames.cs
- securitycriticaldata.cs
- MobileSysDescriptionAttribute.cs
- WindowsFormsHostAutomationPeer.cs
- SQLMembershipProvider.cs
- OracleColumn.cs
- SystemNetworkInterface.cs
- XmlWrappingWriter.cs
- RegexInterpreter.cs
- UInt32Converter.cs
- UInt64Converter.cs
- EditorPartChrome.cs
- FormsAuthenticationTicket.cs
- ContentType.cs
- MenuItem.cs
- TransformedBitmap.cs
- GraphicsPathIterator.cs
- WsdlWriter.cs
- SessionPageStateSection.cs
- CreateUserWizardAutoFormat.cs
- UnmanagedMemoryStream.cs
- ObjectDataSourceView.cs
- Queue.cs
- TableRow.cs
- SystemMulticastIPAddressInformation.cs
- DrawingGroup.cs
- DateTimeOffsetStorage.cs
- PropertyCollection.cs
- Message.cs
- SerializationUtility.cs
- StylusPointPropertyId.cs
- CodeTypeParameter.cs
- ComEventsSink.cs
- UnsafeNativeMethods.cs
- OutOfMemoryException.cs
- ObjectStateManager.cs
- SpecialNameAttribute.cs
- BooleanSwitch.cs
- LassoHelper.cs
- SizeF.cs
- PagedControl.cs
- ProcessInputEventArgs.cs
- _NetworkingPerfCounters.cs
- ConnectionsZone.cs
- AccessibilityApplicationManager.cs
- BaseInfoTable.cs
- SharedDp.cs
- SqlEnums.cs
- TypeKeyValue.cs
- ExpandCollapsePattern.cs
- MasterPageCodeDomTreeGenerator.cs
- EdmFunction.cs
- ParameterToken.cs
- Socket.cs
- RefreshEventArgs.cs
- QilUnary.cs
- WebPartZoneDesigner.cs
- SiteMapSection.cs
- PrivateFontCollection.cs
- InstanceNameConverter.cs
- VerificationException.cs
- OnOperation.cs
- IDispatchConstantAttribute.cs
- AesManaged.cs
- DocumentViewerAutomationPeer.cs
- X509CertificateChain.cs
- ButtonAutomationPeer.cs
- MediaSystem.cs
- formatter.cs
- FormViewDeletedEventArgs.cs