Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

ServiceDescription (Clase)

Representa una descripción completa en memoria del servicio, en la que se incluyen todos los extremos del servicio y especificaciones de sus respectivas direcciones, enlaces, contratos y comportamientos.

System.Object
  System.ServiceModel.Description.ServiceDescription

Espacio de nombres:  System.ServiceModel.Description
Ensamblado:  System.ServiceModel (en System.ServiceModel.dll)
public class ServiceDescription

El tipo ServiceDescription expone los siguientes miembros.

  Nombre Descripción
Método público ServiceDescription() Inicializa una nueva instancia de la clase ServiceDescription.
Método público ServiceDescription(IEnumerable<ServiceEndpoint>) Inicializa una instancia nueva de la clase ServiceDescription para una enumeración especificada de extremos del servicio.
Arriba
  Nombre Descripción
Propiedad pública Behaviors Obtiene los comportamientos asociados al servicio.
Propiedad pública ConfigurationName Obtiene o establece el nombre del elemento de configuración <service>.
Propiedad pública Endpoints Recibe la colección de extremos de la descripción del servicio.
Propiedad pública Name Obtiene o establece el nombre del servicio.
Propiedad pública Namespace Obtiene o establece el espacio de nombres para el servicio.
Propiedad pública ServiceType Obtiene el tipo de servicio.
Arriba
  Nombre Descripción
Método público Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Miembro estático GetService(Object) Devuelve una descripción de servicio inicializada con un objeto de servicio concreto.
Método público Miembro estático GetService(Type) Devuelve una descripción de servicio inicializada con un tipo de servicio concreto.
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba

La información contenida en la descripción ServiceDescription es utilizada por el sistema para generar los componentes en tiempo de ejecución del servicio.

Utilice este método para agregar los comportamientos personalizados y extender ServiceHost. Mediante programación, debe agregar Add(T) el comportamiento de servicio personalizado a Behaviors antes de llamar al método Open en el objeto ServiceHost.

GetService(Object) y los métodos GetService(Type) están disponibles para reflejar comportamientos mediante el modelo de programación al reemplazar ServiceHostBase por su propio mecanismo de alojamiento.

Exporte los metadatos sobre un extremo de servicio pasando ServiceEndpoint como un parámetro a ExportEndpoint(ServiceEndpoint). Después de llamar a este método, o a uno de los otros métodos de exportación proporcionado por WsdlExporter, utilice la propiedad GeneratedWsdlDocuments para devolver la colección de los objetos ServiceDescription.

En el siguiente ejemplo se muestran distintas maneras de crear instancias de un objeto ServiceDescription.


            Uri baseAddress = new Uri("http://localhost:8001/Simple");
            ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

            serviceHost.AddServiceEndpoint(
                typeof(ICalculator),
                new WSHttpBinding(),
                "CalculatorServiceObject");

            // Enable Mex
            ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
            smb.HttpGetEnabled = true;
            serviceHost.Description.Behaviors.Add(smb);

            serviceHost.Open();

            // Use Default constructor
            ServiceDescription sd = new ServiceDescription();

            // Create ServiceDescription from a collection of service endpoints
            List<ServiceEndpoint> endpoints = new List<ServiceEndpoint>();
            ContractDescription conDescr = new ContractDescription("ICalculator");
            EndpointAddress endpointAddress = new EndpointAddress("http://localhost:8001/Basic");
            ServiceEndpoint ep = new ServiceEndpoint(conDescr, new BasicHttpBinding(), endpointAddress);
            endpoints.Add(ep);
            ServiceDescription sd2 = new ServiceDescription(endpoints);

            //// Iterate through the list of behaviors in the ServiceDescription
            ServiceDescription svcDesc = serviceHost.Description;
            KeyedByTypeCollection<IServiceBehavior> sbCol = svcDesc.Behaviors;
            foreach (IServiceBehavior behavior in sbCol)
            {
                Console.WriteLine("Behavior: {0}", behavior.ToString());
            }

            // svcDesc is a ServiceDescription.
            svcDesc = serviceHost.Description;
            string configName = svcDesc.ConfigurationName;
            Console.WriteLine("Configuration name: {0}", configName);

            // Iterate through the endpoints contained in the ServiceDescription
            ServiceEndpointCollection sec = svcDesc.Endpoints;
            foreach (ServiceEndpoint se in sec)
            {
                Console.WriteLine("Endpoint:");
                Console.WriteLine("\tAddress: {0}", se.Address.ToString());
                Console.WriteLine("\tBinding: {0}", se.Binding.ToString());
                Console.WriteLine("\tContract: {0}", se.Contract.ToString());
                KeyedByTypeCollection<IEndpointBehavior> behaviors = se.Behaviors;
                foreach (IEndpointBehavior behavior in behaviors)
                {
                    Console.WriteLine("Behavior: {0}", behavior.ToString());
                }
            }

            string name = svcDesc.Name;
            Console.WriteLine("Service Description name: {0}", name);

            string namespc = svcDesc.Namespace;
            Console.WriteLine("Service Description namespace: {0}", namespc);

            Type serviceType = svcDesc.ServiceType;
            Console.WriteLine("Service Type: {0}", serviceType.ToString());

            // Instantiate a service description specifying a service object
            // Note: Endpoints collection and other properties will be null since 
            // we have not specified them
            CalculatorService svcObj = new CalculatorService();
            ServiceDescription sd3 = ServiceDescription.GetService(svcObj);
            String serviceName = sd3.Name;
            Console.WriteLine("Service name: {0}", serviceName);



.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar