Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / AddIn / AddIn / System / Addin / Hosting / AddInController.cs / 1305376 / AddInController.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: AddInController ** ** Purpose: Allows you to shut down an add-in, which may unload ** an AppDomain or kill an out-of-process add-in. ** ===========================================================*/ using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Reflection; using System.Runtime.ConstrainedExecution; using System.Runtime.Remoting; using System.Runtime.Remoting.Lifetime; using System.Runtime.Serialization; using System.Security.Permissions; using System.Security; using System.Diagnostics; using System.AddIn.Contract; using System.AddIn.Pipeline; using System.Diagnostics.Contracts; namespace System.AddIn.Hosting { // Wrapper on AddInControllerImpl so that a ref count is kept on the Contract // keeping the addin alive while an AddInController object is alive in the host. public sealed class AddInController { private AddInControllerImpl _impl; // keep the addin alive while the controller is alive [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification="Needed to prevent remoting failures")] private Object _hostViewOfAddIn; // Prevent the addin domain from being torn down while there is a controller still alive when, for example, // Dispose is called on the HVA and the hostAdapter releases its LifetimeToken. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification="Needed for finalizer behavior")] private ContractHandle _contractHandle; internal AddInController(AddInControllerImpl impl, Object hostViewOfAddIn, ContractHandle contractHandle) { System.Diagnostics.Contracts.Contract.Requires(impl != null); _impl = impl; _hostViewOfAddIn = hostViewOfAddIn; _contractHandle = contractHandle; } // Takes a host add-in view (HAV) and maps that to an add-in controller. public static AddInController GetAddInController(Object addIn) { return AddInControllerImpl.GetAddInController(addIn); } [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public void Shutdown() { _impl.Shutdown(); } // This will not be usable for OOP scenarios. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming","CA1702:CompoundWordsShouldBeCasedCorrectly", MessageId="AppDomain")] public AppDomain AppDomain { get { return _impl.AppDomain; } } public AddInToken Token { get { return _impl.Token; } } public AddInEnvironment AddInEnvironment { get { return _impl.AddInEnvironment; } } internal AddInControllerImpl AddInControllerImpl { get { return _impl; } } } } // 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
- TraceData.cs
- OleDbCommand.cs
- Encoder.cs
- MsmqChannelFactory.cs
- ChangeDirector.cs
- XmlTypeMapping.cs
- MemberMaps.cs
- DataServiceHostFactory.cs
- BufferedMessageWriter.cs
- PeerDuplexChannelListener.cs
- MsmqHostedTransportConfiguration.cs
- Rule.cs
- Operator.cs
- PipelineComponent.cs
- Synchronization.cs
- FontSizeConverter.cs
- TrustManagerPromptUI.cs
- MetaTable.cs
- CellParagraph.cs
- ObjectQueryProvider.cs
- WinEventTracker.cs
- WebServiceAttribute.cs
- GuidTagList.cs
- MediaContextNotificationWindow.cs
- UIAgentMonitor.cs
- PrintingPermission.cs
- EUCJPEncoding.cs
- SaveFileDialog.cs
- StorageMappingItemCollection.cs
- Brush.cs
- DuplicateDetector.cs
- ScrollItemProviderWrapper.cs
- PatternMatcher.cs
- PrivilegedConfigurationManager.cs
- Normalization.cs
- HttpMethodAttribute.cs
- ModelItemCollection.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- RectValueSerializer.cs
- RunWorkerCompletedEventArgs.cs
- JournalNavigationScope.cs
- HelloMessageApril2005.cs
- WebPartDisplayModeCollection.cs
- SectionVisual.cs
- ElementNotEnabledException.cs
- SymmetricKey.cs
- PropertySet.cs
- CssTextWriter.cs
- DataRowChangeEvent.cs
- FrameworkContentElement.cs
- ComponentCommands.cs
- lengthconverter.cs
- Number.cs
- SqlConnectionManager.cs
- OletxCommittableTransaction.cs
- CssTextWriter.cs
- SectionVisual.cs
- PrintDialogDesigner.cs
- GetPolicyDetailsRequest.cs
- WebPartDeleteVerb.cs
- SocketPermission.cs
- UnSafeCharBuffer.cs
- InputBuffer.cs
- XhtmlCssHandler.cs
- ByteStack.cs
- _SecureChannel.cs
- ProviderConnectionPointCollection.cs
- EditCommandColumn.cs
- ErrorProvider.cs
- XmlILStorageConverter.cs
- System.Data_BID.cs
- CodeIndexerExpression.cs
- AttributeQuery.cs
- Variable.cs
- DocumentViewerHelper.cs
- SemaphoreSlim.cs
- WindowsFormsHelpers.cs
- metrodevice.cs
- BinHexEncoding.cs
- TypeUtil.cs
- SchemaTypeEmitter.cs
- ExtenderProvidedPropertyAttribute.cs
- baseshape.cs
- XmlLoader.cs
- PropertyItemInternal.cs
- Currency.cs
- WindowsPen.cs
- LoadedEvent.cs
- Lasso.cs
- ResourcesBuildProvider.cs
- DictionaryBase.cs
- IgnoreSectionHandler.cs
- ServiceDebugBehavior.cs
- ProtocolViolationException.cs
- MenuItemCollectionEditorDialog.cs
- SqlExpressionNullability.cs
- DetailsViewPagerRow.cs
- XPathSelectionIterator.cs
- SHA1CryptoServiceProvider.cs
- EncoderReplacementFallback.cs