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
- DesignerGeometryHelper.cs
- DocumentApplicationJournalEntry.cs
- latinshape.cs
- WebPartDescriptionCollection.cs
- RSACryptoServiceProvider.cs
- DllNotFoundException.cs
- FamilyTypeface.cs
- SamlAuthorityBinding.cs
- DurableInstanceProvider.cs
- ImportContext.cs
- ApplicationFileParser.cs
- AssemblyCollection.cs
- LicenseProviderAttribute.cs
- ConfigurationStrings.cs
- DependencyPropertyHelper.cs
- HScrollProperties.cs
- Quaternion.cs
- CodeTypeReferenceExpression.cs
- BrushConverter.cs
- TableItemProviderWrapper.cs
- Matrix.cs
- BindingsCollection.cs
- SafeNativeMethods.cs
- WebServiceMethodData.cs
- UpDownEvent.cs
- StreamResourceInfo.cs
- HwndKeyboardInputProvider.cs
- EntityDataSourceMemberPath.cs
- GregorianCalendar.cs
- DataServiceQueryProvider.cs
- DataTableExtensions.cs
- VerticalConnector.xaml.cs
- DBNull.cs
- Speller.cs
- UrlMappingsSection.cs
- TransactionManager.cs
- MeshGeometry3D.cs
- FieldBuilder.cs
- ComplexPropertyEntry.cs
- SiteMapProvider.cs
- MemberInitExpression.cs
- HttpRuntimeSection.cs
- TextServicesContext.cs
- OutputCacheModule.cs
- ProxyWebPart.cs
- InitiatorSessionSymmetricMessageSecurityProtocol.cs
- RootBrowserWindowAutomationPeer.cs
- ServiceHttpHandlerFactory.cs
- NavigatingCancelEventArgs.cs
- formatstringdialog.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- CapabilitiesUse.cs
- OleDbPermission.cs
- QfeChecker.cs
- SqlParameterCollection.cs
- FormViewPageEventArgs.cs
- MetadataSerializer.cs
- MemberHolder.cs
- DataGridViewHeaderCell.cs
- RoutedPropertyChangedEventArgs.cs
- BitmapEffectRenderDataResource.cs
- StandardBindingReliableSessionElement.cs
- XamlTemplateSerializer.cs
- BinaryMethodMessage.cs
- TextTreeDeleteContentUndoUnit.cs
- Process.cs
- XmlSchemaAnnotation.cs
- WindowPattern.cs
- GridProviderWrapper.cs
- future.cs
- ClientBuildManagerCallback.cs
- _FtpDataStream.cs
- ProvidersHelper.cs
- TextDpi.cs
- SimpleWebHandlerParser.cs
- BamlLocalizer.cs
- ServerIdentity.cs
- wgx_commands.cs
- ClientFormsIdentity.cs
- SqlDelegatedTransaction.cs
- CTreeGenerator.cs
- PageContentCollection.cs
- MethodBuilderInstantiation.cs
- IndexOutOfRangeException.cs
- ListBox.cs
- GlyphingCache.cs
- DynamicUpdateCommand.cs
- DbMetaDataCollectionNames.cs
- Effect.cs
- TableCellCollection.cs
- LoginDesignerUtil.cs
- BigInt.cs
- FindCriteria11.cs
- TreeViewItemAutomationPeer.cs
- DBSchemaTable.cs
- ResourceReader.cs
- CodeExpressionCollection.cs
- DbProviderServices.cs
- UTF8Encoding.cs
- MetadataCollection.cs