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
- InputBindingCollection.cs
- JsonServiceDocumentSerializer.cs
- COSERVERINFO.cs
- SecurityTokenSerializer.cs
- CapabilitiesRule.cs
- HttpContextServiceHost.cs
- PropertySegmentSerializer.cs
- HostUtils.cs
- SiteMapSection.cs
- ScriptRegistrationManager.cs
- TimeSpanConverter.cs
- LinearKeyFrames.cs
- TextBoxAutomationPeer.cs
- BmpBitmapDecoder.cs
- RegisteredArrayDeclaration.cs
- Imaging.cs
- DataGrid.cs
- CodeCatchClause.cs
- glyphs.cs
- SafeHandles.cs
- Intellisense.cs
- Currency.cs
- ChannelHandler.cs
- DataConnectionHelper.cs
- NullableConverter.cs
- IListConverters.cs
- WindowsGraphicsCacheManager.cs
- MediaScriptCommandRoutedEventArgs.cs
- OpenTypeCommon.cs
- xmlglyphRunInfo.cs
- WebConfigurationManager.cs
- StrongName.cs
- XmlSchemaComplexType.cs
- ConfigurationException.cs
- CodeSnippetCompileUnit.cs
- WindowsPen.cs
- PointLight.cs
- MimeBasePart.cs
- HttpCookieCollection.cs
- FrugalMap.cs
- TransformDescriptor.cs
- SafeNativeMethods.cs
- CompressedStack.cs
- RunClient.cs
- QuotedPrintableStream.cs
- ContainerControl.cs
- SqlRecordBuffer.cs
- WindowsIPAddress.cs
- StringResourceManager.cs
- shaper.cs
- ResourceAttributes.cs
- _SSPIWrapper.cs
- BuildProviderCollection.cs
- TraceUtils.cs
- DbMetaDataCollectionNames.cs
- SerialPort.cs
- HierarchicalDataSourceControl.cs
- ViewPort3D.cs
- RootProfilePropertySettingsCollection.cs
- ComboBox.cs
- SqlDataSourceFilteringEventArgs.cs
- ResourceDictionary.cs
- WindowsServiceCredential.cs
- RemotingClientProxy.cs
- CompiledQuery.cs
- SiteMapSection.cs
- ListView.cs
- ConfigurationValidatorBase.cs
- WeakHashtable.cs
- SqlDataSourceQueryEditor.cs
- FilterableAttribute.cs
- ListCardsInFileRequest.cs
- CodeArgumentReferenceExpression.cs
- CngAlgorithmGroup.cs
- TrustManagerPromptUI.cs
- RelationHandler.cs
- ErrorFormatterPage.cs
- MonthChangedEventArgs.cs
- TabControl.cs
- ScriptReference.cs
- TextTreeExtractElementUndoUnit.cs
- RectKeyFrameCollection.cs
- XsdBuilder.cs
- BamlCollectionHolder.cs
- _UriSyntax.cs
- XmlQualifiedNameTest.cs
- UnregisterInfo.cs
- SaveFileDialog.cs
- FilterElement.cs
- Mapping.cs
- ScrollEventArgs.cs
- OrthographicCamera.cs
- ReadOnlyMetadataCollection.cs
- ConfigurationManagerInternalFactory.cs
- OAVariantLib.cs
- sqlinternaltransaction.cs
- SelectionBorderGlyph.cs
- Parser.cs
- ImageDrawing.cs
- RootAction.cs