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
- HtmlContainerControl.cs
- SubMenuStyle.cs
- SHA1.cs
- UriTemplateTrieNode.cs
- WrappedReader.cs
- Literal.cs
- ReferenceConverter.cs
- TypeListConverter.cs
- SecurityTokenContainer.cs
- NativeMethods.cs
- SimpleApplicationHost.cs
- WindowsScrollBar.cs
- TypeValidationEventArgs.cs
- BasicHttpSecurityMode.cs
- RequestBringIntoViewEventArgs.cs
- FolderNameEditor.cs
- GeneralTransform.cs
- RotationValidation.cs
- ClickablePoint.cs
- WebResourceUtil.cs
- PrePostDescendentsWalker.cs
- TransactionCache.cs
- DocumentPageTextView.cs
- ByteRangeDownloader.cs
- XmlElement.cs
- AutomationPatternInfo.cs
- Point3D.cs
- HttpStreamMessageEncoderFactory.cs
- CommandConverter.cs
- SynthesizerStateChangedEventArgs.cs
- DivideByZeroException.cs
- ComplexBindingPropertiesAttribute.cs
- DataBinder.cs
- XPathMultyIterator.cs
- RSAProtectedConfigurationProvider.cs
- RecognizedAudio.cs
- ControllableStoryboardAction.cs
- XamlSerializationHelper.cs
- RijndaelManaged.cs
- NextPreviousPagerField.cs
- BindingExpressionBase.cs
- DbCommandTree.cs
- ZoomingMessageFilter.cs
- TextFormatterImp.cs
- UshortList2.cs
- RuntimeDelegateArgument.cs
- TcpProcessProtocolHandler.cs
- TypeDescriptor.cs
- ReadOnlyDictionary.cs
- DataBoundControlActionList.cs
- DataGridPagerStyle.cs
- Dictionary.cs
- MulticastNotSupportedException.cs
- DefinitionBase.cs
- _ListenerRequestStream.cs
- DataGridViewComponentPropertyGridSite.cs
- SmtpDigestAuthenticationModule.cs
- FontStyle.cs
- AccessedThroughPropertyAttribute.cs
- ComboBox.cs
- HtmlProps.cs
- Int64Converter.cs
- RefreshEventArgs.cs
- UnsafeNativeMethodsTablet.cs
- ScaleTransform.cs
- complextypematerializer.cs
- EventSinkHelperWriter.cs
- CatalogPartCollection.cs
- DataGridViewRow.cs
- PropertyTab.cs
- BamlVersionHeader.cs
- HttpCookie.cs
- ToolStripTextBox.cs
- SoapAttributes.cs
- SystemWebSectionGroup.cs
- BufferedGraphicsManager.cs
- XmlSerializerVersionAttribute.cs
- StreamUpgradeInitiator.cs
- ScriptRef.cs
- WebServiceResponse.cs
- QuotedPrintableStream.cs
- RawUIStateInputReport.cs
- ValueUnavailableException.cs
- DesignerActionItem.cs
- PackagingUtilities.cs
- SqlRowUpdatingEvent.cs
- IPeerNeighbor.cs
- MachineKeySection.cs
- ECDsaCng.cs
- CookielessData.cs
- PreApplicationStartMethodAttribute.cs
- BrowserDefinitionCollection.cs
- IriParsingElement.cs
- DesignObjectWrapper.cs
- FactoryMaker.cs
- OperationCanceledException.cs
- NativeObjectSecurity.cs
- TrimSurroundingWhitespaceAttribute.cs
- ParentUndoUnit.cs
- BasicHttpBindingCollectionElement.cs