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
- ImageMap.cs
- DataControlFieldHeaderCell.cs
- ErrorWebPart.cs
- Mouse.cs
- TimeZone.cs
- RtfControlWordInfo.cs
- ContentFileHelper.cs
- QueryOperationResponseOfT.cs
- SecurityBindingElementImporter.cs
- MimeObjectFactory.cs
- PackageProperties.cs
- CharConverter.cs
- FrameworkElementFactory.cs
- HashCodeCombiner.cs
- DataServiceQueryProvider.cs
- RijndaelCryptoServiceProvider.cs
- MissingFieldException.cs
- ConfigurationManagerHelperFactory.cs
- ISCIIEncoding.cs
- ObfuscateAssemblyAttribute.cs
- ToolStrip.cs
- TextEncodedRawTextWriter.cs
- Codec.cs
- PseudoWebRequest.cs
- Empty.cs
- SemanticResolver.cs
- _TLSstream.cs
- EmissiveMaterial.cs
- ProvideValueServiceProvider.cs
- D3DImage.cs
- Parameter.cs
- SmtpDigestAuthenticationModule.cs
- errorpatternmatcher.cs
- XmlNamespaceMappingCollection.cs
- UserControl.cs
- LicenseManager.cs
- Closure.cs
- validationstate.cs
- XhtmlBasicPanelAdapter.cs
- Tuple.cs
- XmlRawWriterWrapper.cs
- StructuredTypeEmitter.cs
- PropertyValueUIItem.cs
- TextBoxAutoCompleteSourceConverter.cs
- Timeline.cs
- NonBatchDirectoryCompiler.cs
- ScriptingWebServicesSectionGroup.cs
- SamlAdvice.cs
- BinaryObjectInfo.cs
- DataTableReaderListener.cs
- RelationshipDetailsRow.cs
- Byte.cs
- ClickablePoint.cs
- ColorKeyFrameCollection.cs
- HttpRawResponse.cs
- PreviewPrintController.cs
- DataGridViewCellPaintingEventArgs.cs
- XPathNodeIterator.cs
- FindCriteriaCD1.cs
- UserControl.cs
- CustomAttributeSerializer.cs
- UrlMappingsSection.cs
- PeerTransportSecurityElement.cs
- TaiwanLunisolarCalendar.cs
- CompiledQueryCacheEntry.cs
- TextServicesManager.cs
- DescendantBaseQuery.cs
- CloudCollection.cs
- NativeMethods.cs
- XPathSingletonIterator.cs
- CustomExpression.cs
- DataGridViewCellPaintingEventArgs.cs
- PointAnimationUsingKeyFrames.cs
- ADMembershipUser.cs
- PathHelper.cs
- ServiceDiscoveryBehavior.cs
- DbConnectionPool.cs
- SortDescriptionCollection.cs
- MasterPageCodeDomTreeGenerator.cs
- ToolboxItemAttribute.cs
- BitStack.cs
- ListChangedEventArgs.cs
- ListBindingHelper.cs
- ParameterEditorUserControl.cs
- FamilyTypefaceCollection.cs
- WebBrowsableAttribute.cs
- XamlRtfConverter.cs
- XmlAutoDetectWriter.cs
- StringWriter.cs
- TranslateTransform3D.cs
- StylusTouchDevice.cs
- DbReferenceCollection.cs
- RangeBaseAutomationPeer.cs
- DocumentXmlWriter.cs
- FontWeights.cs
- DataGridItem.cs
- XamlGridLengthSerializer.cs
- InputScopeAttribute.cs
- Size.cs
- GridErrorDlg.cs