Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Administration / ServiceInfo.cs / 1 / ServiceInfo.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Administration { using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Runtime.Serialization; using System.Reflection; using System.ServiceModel; using System.ServiceModel.Description; using System.Text; using System.Collections.ObjectModel; sealed class ServiceInfo { KeyedByTypeCollectionbehaviors; EndpointInfoCollection endpoints; ServiceHostBase service; string serviceName; internal ServiceInfo(ServiceHostBase service) { this.service = service; this.behaviors = service.Description.Behaviors; this.serviceName = service.Description.Name; this.endpoints = new EndpointInfoCollection(service.Description.Endpoints, this.ServiceName); } public string ConfigurationName { get { return this.service.Description.ConfigurationName; } } public string DistinguishedName { get { return this.serviceName + "@" + this.FirstAddress; } } public string FirstAddress { get { DiagnosticUtility.DebugAssert(null != this.Service.BaseAddresses, ""); string address = ""; if (this.Service.BaseAddresses.Count > 0) { DiagnosticUtility.DebugAssert(null != this.Service.BaseAddresses[0], ""); address = this.Service.BaseAddresses[0].ToString(); } else if (this.Endpoints.Count > 0) { Uri addressUri = this.Endpoints[0].Address; if (null != addressUri) { address = addressUri.ToString(); } } return address; } } public string Name { get { return this.serviceName; } } public string Namespace { get { return this.service.Description.Namespace; } } public string ServiceName { get { return this.serviceName; } } public ServiceHostBase Service { get { return this.service; } } public KeyedByTypeCollection Behaviors { get { return this.behaviors; } } public CommunicationState State { get { return this.Service.State; } } public EndpointInfoCollection Endpoints { get { return this.endpoints; } } public string[] Metadata { get { string[] result = null; ServiceMetadataExtension metadataExtension = service.Extensions.Find (); if (null != metadataExtension) { Collection metadataStrings = new Collection (); try { foreach (MetadataSection section in metadataExtension.Metadata.MetadataSections) { using (StringWriter sw = new StringWriter(CultureInfo.InvariantCulture)) { if (section.Metadata is System.Web.Services.Description.ServiceDescription) { System.Web.Services.Description.ServiceDescription metadata = (System.Web.Services.Description.ServiceDescription)section.Metadata; metadata.Write(sw); metadataStrings.Add(sw.ToString()); } else if (section.Metadata is System.Xml.XmlElement) { System.Xml.XmlElement metadata = (System.Xml.XmlElement)section.Metadata; using (System.Xml.XmlWriter xmlWriter = System.Xml.XmlWriter.Create(sw)) { metadata.WriteTo(xmlWriter); metadataStrings.Add(sw.ToString()); } } else if (section.Metadata is System.Xml.Schema.XmlSchema) { System.Xml.Schema.XmlSchema metadata = (System.Xml.Schema.XmlSchema)section.Metadata; metadata.Write(sw); metadataStrings.Add(sw.ToString()); } else { metadataStrings.Add(section.Metadata.ToString()); } } } } catch (InvalidOperationException e) { metadataStrings.Add(e.ToString()); } result = new string[metadataStrings.Count]; metadataStrings.CopyTo(result, 0); } return result; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeStatementCollection.cs
- TraceProvider.cs
- FileRecordSequenceHelper.cs
- SecurityRuntime.cs
- PropertyTab.cs
- AttributeProviderAttribute.cs
- WebServiceTypeData.cs
- PerfCounters.cs
- TreeViewEvent.cs
- HtmlSelect.cs
- SerializerWriterEventHandlers.cs
- XmlSerializerVersionAttribute.cs
- SHA1CryptoServiceProvider.cs
- Int16Storage.cs
- QilScopedVisitor.cs
- FloaterParaClient.cs
- MergeFilterQuery.cs
- ZoneMembershipCondition.cs
- InheritedPropertyDescriptor.cs
- ClientScriptManager.cs
- FullTextState.cs
- DataGridViewElement.cs
- WebContext.cs
- Pair.cs
- COM2AboutBoxPropertyDescriptor.cs
- SessionPageStateSection.cs
- ToolStripPanelRenderEventArgs.cs
- AuthStoreRoleProvider.cs
- UnsafeNativeMethodsCLR.cs
- PolicyLevel.cs
- FormViewInsertedEventArgs.cs
- TypeElement.cs
- SoapCodeExporter.cs
- AutoCompleteStringCollection.cs
- VirtualizingStackPanel.cs
- AssociatedControlConverter.cs
- BeginStoryboard.cs
- PageEventArgs.cs
- TraceContextRecord.cs
- AQNBuilder.cs
- QuaternionAnimation.cs
- WebPartsSection.cs
- CompiledWorkflowDefinitionContext.cs
- CheckedPointers.cs
- PropertyEmitterBase.cs
- AppSettingsReader.cs
- HtmlInputReset.cs
- SafeHGlobalHandleCritical.cs
- PropertyStore.cs
- XmlSchemaElement.cs
- RegexCapture.cs
- ManifestResourceInfo.cs
- TemplateBindingExtensionConverter.cs
- XmlMembersMapping.cs
- XmlValueConverter.cs
- UnsafeNativeMethods.cs
- WizardPanel.cs
- ExpressionConverter.cs
- XmlElement.cs
- UpdateTracker.cs
- ObjectViewQueryResultData.cs
- MenuItemAutomationPeer.cs
- SplitterCancelEvent.cs
- RowToFieldTransformer.cs
- ClientSettingsStore.cs
- DataSourceSelectArguments.cs
- HuffModule.cs
- ProfessionalColorTable.cs
- ColorDialog.cs
- ToolboxBitmapAttribute.cs
- MessageQueueCriteria.cs
- FontSource.cs
- IntellisenseTextBox.designer.cs
- MessageBodyDescription.cs
- hresults.cs
- AdvancedBindingPropertyDescriptor.cs
- XmlUTF8TextWriter.cs
- CompilerResults.cs
- OutputCacheSettingsSection.cs
- DragAssistanceManager.cs
- StorageRoot.cs
- SiteMapNodeItem.cs
- SimpleBitVector32.cs
- OLEDB_Enum.cs
- EdgeProfileValidation.cs
- RoutedCommand.cs
- StringFunctions.cs
- FunctionUpdateCommand.cs
- hresults.cs
- EtwProvider.cs
- PermissionSet.cs
- XmlDictionary.cs
- PointAnimationUsingKeyFrames.cs
- Types.cs
- CachedBitmap.cs
- DataMemberConverter.cs
- DataGridViewUtilities.cs
- Unit.cs
- ActivityDesignerResources.cs
- CodeAssignStatement.cs