ServiceAppDomainAssociationProvider.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Administration
  5. {
  6. using System;
  7. using System.Runtime;
  8. class ServiceAppDomainAssociationProvider : ProviderBase, IWmiProvider
  9. {
  10. void IWmiProvider.EnumInstances(IWmiInstances instances)
  11. {
  12. Fx.Assert(null != instances, "");
  13. foreach (ServiceInfo info in new ServiceInfoCollection(ManagementExtension.Services))
  14. {
  15. IWmiInstance instance = instances.NewInstance(null);
  16. instance.SetProperty(AdministrationStrings.AppDomainInfo, AppDomainInstanceProvider.GetReference());
  17. instance.SetProperty(AdministrationStrings.Service, ServiceInstanceProvider.GetReference(info));
  18. instances.AddInstance(instance);
  19. }
  20. }
  21. bool IWmiProvider.GetInstance(IWmiInstance instance)
  22. {
  23. Fx.Assert(null != instance, "");
  24. string serviceRef = instance.GetProperty(AdministrationStrings.Service) as string;
  25. string appDomainInfoRef = instance.GetProperty(AdministrationStrings.AppDomainInfo) as string;
  26. return !String.IsNullOrEmpty(serviceRef) && !String.IsNullOrEmpty(appDomainInfoRef);
  27. }
  28. }
  29. }