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
- XmlUnspecifiedAttribute.cs
- ServiceProviders.cs
- ContextProperty.cs
- LongTypeConverter.cs
- GroupBoxAutomationPeer.cs
- ContentPlaceHolderDesigner.cs
- XmlFormatWriterGenerator.cs
- GenericEnumConverter.cs
- BufferModesCollection.cs
- GridItemCollection.cs
- FunctionQuery.cs
- WebRequestModulesSection.cs
- UpdateTranslator.cs
- TreeViewDesigner.cs
- Ref.cs
- AuthenticationConfig.cs
- ChildTable.cs
- ActivityWithResultConverter.cs
- WinCategoryAttribute.cs
- DebugView.cs
- ValuePatternIdentifiers.cs
- DataView.cs
- EventDescriptorCollection.cs
- SqlInternalConnectionSmi.cs
- WebPartEditorCancelVerb.cs
- arclist.cs
- RegexCompilationInfo.cs
- CalendarDataBindingHandler.cs
- ToolStripDropDown.cs
- PlanCompiler.cs
- PartialTrustHelpers.cs
- _UriTypeConverter.cs
- dbenumerator.cs
- FocusTracker.cs
- HelpEvent.cs
- X509UI.cs
- ExtendedProtectionPolicyTypeConverter.cs
- wgx_render.cs
- XXXInfos.cs
- PolyBezierSegment.cs
- AssemblyAttributesGoHere.cs
- TagPrefixCollection.cs
- Stroke2.cs
- CopyNamespacesAction.cs
- TextTreeExtractElementUndoUnit.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- LinkedList.cs
- TiffBitmapEncoder.cs
- AsyncDataRequest.cs
- XsltArgumentList.cs
- RuleRef.cs
- XPathNodeList.cs
- WizardSideBarListControlItemEventArgs.cs
- Pkcs7Signer.cs
- UInt16Storage.cs
- Grant.cs
- ClientSponsor.cs
- ListBindingHelper.cs
- DocumentSequence.cs
- Group.cs
- ImageMapEventArgs.cs
- AspNetRouteServiceHttpHandler.cs
- XmlSchemaSimpleContentExtension.cs
- StoreItemCollection.Loader.cs
- StringAttributeCollection.cs
- PieceNameHelper.cs
- RsaKeyGen.cs
- CompilerParameters.cs
- X509Certificate2.cs
- DashStyle.cs
- EventWaitHandleSecurity.cs
- Mutex.cs
- TemplatePropertyEntry.cs
- SerializationInfo.cs
- WindowsFont.cs
- Int64AnimationUsingKeyFrames.cs
- AppModelKnownContentFactory.cs
- GreenMethods.cs
- _WinHttpWebProxyDataBuilder.cs
- ListManagerBindingsCollection.cs
- SweepDirectionValidation.cs
- XmlSchemaComplexContent.cs
- IntegerCollectionEditor.cs
- VectorAnimationBase.cs
- EnumerableRowCollectionExtensions.cs
- base64Transforms.cs
- RedBlackList.cs
- EnumerableRowCollection.cs
- StandardTransformFactory.cs
- ActivityDesigner.cs
- CustomAttribute.cs
- LinqDataSourceDisposeEventArgs.cs
- InfoCardBinaryReader.cs
- GeometryValueSerializer.cs
- InfoCardSymmetricAlgorithm.cs
- GridViewRowEventArgs.cs
- ConfigurationElement.cs
- Fonts.cs
- HttpModuleActionCollection.cs
- DrawingImage.cs