Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Runtime / Remoting / ObjectHandle.cs / 2 / ObjectHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ObjectHandle ** ** ** ObjectHandle wraps object references. A Handle allows a ** marshal by value object to be returned through an ** indirection allowing the caller to control when the ** object is loaded into their domain. ** ** ===========================================================*/ namespace System.Runtime.Remoting{ using System; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.Remoting; using System.Runtime.Remoting.Activation; using System.Runtime.Remoting.Lifetime; [ClassInterface(ClassInterfaceType.AutoDual)] [System.Runtime.InteropServices.ComVisible(true)] public class ObjectHandle: MarshalByRefObject, IObjectHandle { private Object WrappedObject; private ObjectHandle() { } public ObjectHandle(Object o) { WrappedObject = o; } public Object Unwrap() { return WrappedObject; } // ObjectHandle has a finite lifetime. For now the default // lifetime is being used, this can be changed in this method to // specify a custom lifetime. [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)] public override Object InitializeLifetimeService() { BCLDebug.Trace("REMOTE", "ObjectHandle.InitializeLifetimeService"); // // If the wrapped object has implemented InitializeLifetimeService to return null, // we don't want to go to the base class (which will result in a lease being // requested from the MarshalByRefObject, which starts up the LeaseManager, // which starts up the ThreadPool, adding three threads to the process. // We MarshalByRefObject mbr = WrappedObject as MarshalByRefObject; if (mbr != null) { Object o = mbr.InitializeLifetimeService(); if (o == null) return null; } ILease lease = (ILease)base.InitializeLifetimeService(); return lease; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Baml2006Reader.cs
- ConfigurationProperty.cs
- XmlSchemaComplexType.cs
- ActiveXSite.cs
- DrawingCollection.cs
- WebBrowserNavigatedEventHandler.cs
- Mouse.cs
- CodeTypeMemberCollection.cs
- SlotInfo.cs
- HebrewNumber.cs
- ISO2022Encoding.cs
- EventsTab.cs
- SchemaTypeEmitter.cs
- AttachmentService.cs
- LateBoundBitmapDecoder.cs
- RSAOAEPKeyExchangeFormatter.cs
- ServicePointManagerElement.cs
- ProjectionQueryOptionExpression.cs
- X509RawDataKeyIdentifierClause.cs
- QualifierSet.cs
- PersonalizableAttribute.cs
- DataViewManager.cs
- WindowsListViewSubItem.cs
- Hex.cs
- ShaderEffect.cs
- RequestResponse.cs
- DefaultTextStoreTextComposition.cs
- Receive.cs
- ObservableCollectionDefaultValueFactory.cs
- Matrix3DValueSerializer.cs
- DataControlCommands.cs
- FileStream.cs
- ConsoleCancelEventArgs.cs
- DataGridRowClipboardEventArgs.cs
- TemplateBindingExtensionConverter.cs
- DecimalConstantAttribute.cs
- Memoizer.cs
- Atom10FormatterFactory.cs
- ExpanderAutomationPeer.cs
- CompositionTarget.cs
- ConfigurationValues.cs
- DbConnectionClosed.cs
- TextWriterTraceListener.cs
- WebPartAuthorizationEventArgs.cs
- DataPagerFieldCommandEventArgs.cs
- SQLSingle.cs
- DiscoveryMessageSequence11.cs
- ListenerConfig.cs
- BindingUtils.cs
- MappingMetadataHelper.cs
- UpdateDelegates.Generated.cs
- FakeModelItemImpl.cs
- DesignerAdapterAttribute.cs
- XmlHierarchicalDataSourceView.cs
- Context.cs
- HelpFileFileNameEditor.cs
- WS2007FederationHttpBindingCollectionElement.cs
- ComplexPropertyEntry.cs
- SubpageParaClient.cs
- WebSysDescriptionAttribute.cs
- relpropertyhelper.cs
- TemplateControlCodeDomTreeGenerator.cs
- RenderDataDrawingContext.cs
- Triplet.cs
- TerminatingOperationBehavior.cs
- RestrictedTransactionalPackage.cs
- WebResourceAttribute.cs
- XmlNodeReader.cs
- SharedPerformanceCounter.cs
- HttpClientCertificate.cs
- Help.cs
- JsonFormatGeneratorStatics.cs
- XmlSerializationGeneratedCode.cs
- XmlnsDefinitionAttribute.cs
- WebPartMovingEventArgs.cs
- Pointer.cs
- CodeTryCatchFinallyStatement.cs
- CodeAttributeDeclaration.cs
- MonitoringDescriptionAttribute.cs
- CompilerParameters.cs
- OdbcParameter.cs
- ActionFrame.cs
- ClientSettings.cs
- StorageInfo.cs
- CodeSnippetCompileUnit.cs
- BordersPage.cs
- EntityCommandCompilationException.cs
- TakeQueryOptionExpression.cs
- GridViewRow.cs
- ConfigXmlSignificantWhitespace.cs
- ExpressionBuilder.cs
- DiagnosticStrings.cs
- CodeDomConfigurationHandler.cs
- BamlRecordWriter.cs
- EventLogPermissionAttribute.cs
- TrustLevelCollection.cs
- DocumentSequence.cs
- TextPointer.cs
- XmlDownloadManager.cs
- QueryExpression.cs