internal static void FillEndpointInfo(System.ServiceModel.Administration.EndpointInfo endpoint, IWmiInstance instance) { instance.SetProperty("CounterInstanceName", PerformanceCounters.PerformanceCountersEnabled ? EndpointPerformanceCountersBase.CreateFriendlyInstanceName(endpoint.ServiceName, endpoint.Contract.Name, endpoint.Address.AbsoluteUri.ToUpperInvariant()) : string.Empty); instance.SetProperty("Name", endpoint.Name); instance.SetProperty("ContractName", endpoint.Contract.Name); FillAddressInfo(endpoint, instance); FillContractInfo(endpoint, instance); FillBindingInfo(endpoint, instance); FillBehaviorsInfo(endpoint, instance); }
private string GetOperationCounterInstanceName(string operationName, IWmiInstance endpointInstance) { string property = (string)endpointInstance.GetProperty("ListenUri"); string contractName = (string)endpointInstance.GetProperty("ContractName"); System.ServiceModel.Administration.EndpointInfo info = this.FindEndpoint(property, contractName); string str3 = string.Empty; if (PerformanceCounters.PerformanceCountersEnabled && (info != null)) { str3 = OperationPerformanceCountersBase.CreateFriendlyInstanceName(info.ServiceName, info.Contract.Name, operationName, info.Address.AbsoluteUri.ToUpperInvariant()); } return(str3); }
private static void FillBehaviorsInfo(System.ServiceModel.Administration.EndpointInfo info, IWmiInstance instance) { List <IWmiInstance> list = new List <IWmiInstance>(info.Behaviors.Count); foreach (IEndpointBehavior behavior in info.Behaviors) { IWmiInstance instance2; FillBehaviorInfo(behavior, instance, out instance2); if (instance2 != null) { list.Add(instance2); } } instance.SetProperty("Behaviors", list.ToArray()); }
private static void FillAddressInfo(System.ServiceModel.Administration.EndpointInfo endpoint, IWmiInstance instance) { string[] info = new string[endpoint.Headers.Count]; int num = 0; foreach (AddressHeader header in endpoint.Headers) { PlainXmlWriter writer = new PlainXmlWriter(); header.WriteAddressHeader(writer); info[num++] = writer.ToString(); } ProviderBase.FillCollectionInfo(info, instance, "AddressHeaders"); instance.SetProperty("Address", (endpoint.Address == null) ? string.Empty : endpoint.Address.ToString()); instance.SetProperty("ListenUri", (endpoint.ListenUri == null) ? string.Empty : endpoint.ListenUri.ToString()); instance.SetProperty("AddressIdentity", (endpoint.Identity == null) ? string.Empty : endpoint.Identity.ToString()); }
bool IWmiProvider.GetInstance(IWmiInstance instance) { bool flag = false; if (this.OwnInstance(instance)) { string property = (string)instance.GetProperty("ListenUri"); string contractName = (string)instance.GetProperty("ContractName"); System.ServiceModel.Administration.EndpointInfo endpoint = this.FindEndpoint(property, contractName); if (endpoint != null) { FillEndpointInfo(endpoint, instance); flag = true; } } return(flag); }
private static void FillBindingInfo(System.ServiceModel.Administration.EndpointInfo endpoint, IWmiInstance instance) { IWmiInstance instance2 = instance.NewInstance("Binding"); IWmiInstance[] instanceArray = new IWmiInstance[endpoint.Binding.Elements.Count]; for (int i = 0; i < instanceArray.Length; i++) { instanceArray[i] = instance2; FillBindingInfo(endpoint.Binding.Elements[i], ref instanceArray[i]); } instance2.SetProperty("BindingElements", instanceArray); instance2.SetProperty("Name", endpoint.Binding.Name); instance2.SetProperty("Namespace", endpoint.Binding.Namespace); instance2.SetProperty("CloseTimeout", endpoint.Binding.CloseTimeout); instance2.SetProperty("Scheme", endpoint.Binding.Scheme); instance2.SetProperty("OpenTimeout", endpoint.Binding.OpenTimeout); instance2.SetProperty("ReceiveTimeout", endpoint.Binding.ReceiveTimeout); instance2.SetProperty("SendTimeout", endpoint.Binding.SendTimeout); instance.SetProperty("Binding", instance2); }
private static void FillContractInfo(System.ServiceModel.Administration.EndpointInfo endpoint, IWmiInstance instance) { instance.SetProperty("Contract", ContractInstanceProvider.ContractReference(endpoint.Contract.Name)); }