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
- ZipIOCentralDirectoryDigitalSignature.cs
- PersonalizationStateInfo.cs
- PersonalizableAttribute.cs
- WebZone.cs
- KeyedPriorityQueue.cs
- ProcessDesigner.cs
- SoapAttributeOverrides.cs
- DocumentApplicationJournalEntry.cs
- DriveNotFoundException.cs
- EventProviderWriter.cs
- TransformCollection.cs
- ReadContentAsBinaryHelper.cs
- SecUtil.cs
- ImageClickEventArgs.cs
- LineInfo.cs
- UnitySerializationHolder.cs
- Renderer.cs
- MILUtilities.cs
- Size3D.cs
- ColumnWidthChangingEvent.cs
- ErrorLog.cs
- KeyPullup.cs
- MemberInfoSerializationHolder.cs
- DesignBinding.cs
- ExeConfigurationFileMap.cs
- basevalidator.cs
- SmiGettersStream.cs
- CompatibleIComparer.cs
- Span.cs
- CodeExpressionRuleDeclaration.cs
- DynamicPhysicalDiscoSearcher.cs
- CodeTypeParameterCollection.cs
- SessionState.cs
- Number.cs
- SkipStoryboardToFill.cs
- NgenServicingAttributes.cs
- UnsignedPublishLicense.cs
- WeakReferenceList.cs
- XmlCDATASection.cs
- MutexSecurity.cs
- ResourceAssociationSetEnd.cs
- CacheHelper.cs
- FragmentQueryProcessor.cs
- PrinterUnitConvert.cs
- Normalizer.cs
- NumberAction.cs
- NetworkInformationPermission.cs
- ProjectedWrapper.cs
- DependencyProperty.cs
- BoolExpr.cs
- SemaphoreSlim.cs
- ClockGroup.cs
- ContainerVisual.cs
- UriGenerator.cs
- ToolStripItemClickedEventArgs.cs
- Input.cs
- CleanUpVirtualizedItemEventArgs.cs
- ListViewItem.cs
- Roles.cs
- ScriptIgnoreAttribute.cs
- configsystem.cs
- MetadataItem.cs
- GlyphTypeface.cs
- NetPipeSection.cs
- DetailsViewDeleteEventArgs.cs
- BaseTreeIterator.cs
- SerializationSectionGroup.cs
- Mappings.cs
- PolyBezierSegmentFigureLogic.cs
- CounterCreationDataCollection.cs
- ApplicationActivator.cs
- QueryStringParameter.cs
- DateTimeSerializationSection.cs
- FirstMatchCodeGroup.cs
- TablePattern.cs
- GroupBoxRenderer.cs
- InternalPolicyElement.cs
- ipaddressinformationcollection.cs
- PrimitiveType.cs
- CriticalHandle.cs
- DrawItemEvent.cs
- CodeExporter.cs
- ListItemCollection.cs
- ProfileProvider.cs
- Verify.cs
- ZipIOLocalFileBlock.cs
- TableFieldsEditor.cs
- IMembershipProvider.cs
- PolicyStatement.cs
- DynamicPropertyReader.cs
- ScriptResourceHandler.cs
- SystemUnicastIPAddressInformation.cs
- CryptoStream.cs
- contentDescriptor.cs
- HttpContextWrapper.cs
- TokenCreationParameter.cs
- SecurityValidationBehavior.cs
- NativeMethods.cs
- KeyEvent.cs
- OutputScopeManager.cs