Exportar (0) Imprimir
Expandir todo
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

WebServiceHost (Clase)

Clase derivada de ServiceHost que complementa el modelo de programación de REST de .

Espacio de nombres:  System.ServiceModel.Web
Ensamblado:  System.ServiceModel.Web (en System.ServiceModel.Web.dll)

public class WebServiceHost : ServiceHost

El tipo WebServiceHost expone los siguientes miembros.

  NombreDescripción
Método públicoWebServiceHost()Inicializa una nueva instancia de la clase WebServiceHost.
Método públicoWebServiceHost(Object, Uri[])Inicializa una nueva instancia de la clase WebServiceHost con la instancia del servidor singleton y la dirección base especificadas.
Método públicoWebServiceHost(Type, Uri[])Inicializa una nueva instancia de la clase WebServiceHost con el tipo de servicio y dirección base especificados.
Arriba

  NombreDescripción
Propiedad públicaAuthenticationObtiene el comportamiento de autenticación de servicio. (Se hereda de ServiceHostBase).
Propiedad públicaAuthorizationObtiene el comportamiento de la autorización para el servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad públicaBaseAddressesObtiene las direcciones base utilizadas por el servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad públicaChannelDispatchersObtiene la colección de distribuidores del canal utilizados por el host del servicio. (Se hereda de ServiceHostBase).
Propiedad públicaCloseTimeoutObtiene o establece el intervalo de tiempo permitido para que el host del servicio se cierre. (Se hereda de ServiceHostBase).
Propiedad públicaCredentialsObtiene la credencial para el servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad protegidaDefaultCloseTimeoutObtiene o establece el intervalo de tiempo predeterminado permitido para que el host del servicio se cierre. (Se hereda de ServiceHostBase).
Propiedad protegidaDefaultOpenTimeoutObtiene el intervalo de tiempo predeterminado permitido para que el host del servicio se abra. (Se hereda de ServiceHostBase).
Propiedad públicaDescriptionObtiene la descripción del servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad públicaExtensionsObtiene las extensiones para el host del servicio actual especificado. (Se hereda de ServiceHostBase).
Propiedad protegidaImplementedContractsRecupera los contratos implementados por el servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad protegidaIsDisposedObtiene un valor que indica si el objeto de comunicación se ha eliminado. (Se hereda de CommunicationObject).
Propiedad públicaManualFlowControlLimitObtiene o establece el límite del control de flujo para los mensajes recibidos por el servicio hospedado. (Se hereda de ServiceHostBase).
Propiedad públicaOpenTimeoutObtiene o establece el intervalo de tiempo permitido para que el host del servicio se abra. (Se hereda de ServiceHostBase).
Propiedad públicaSingletonInstanceObtiene la instancia de singleton del servicio hospedado. (Se hereda de ServiceHost).
Propiedad públicaStateObtiene un valor que indica el estado actual del objeto de comunicación. (Se hereda de CommunicationObject).
Propiedad protegidaThisLockObtiene el bloqueo mutuamente excluyente que protege la instancia de clase durante una transición de estado. (Se hereda de CommunicationObject).
Arriba

  NombreDescripción
Método públicoAbortProvoca que un objeto de comunicación pase inmediatamente de su estado actual al estado de cierre. (Se hereda de CommunicationObject).
Método protegidoAddBaseAddressAgrega una dirección base al host del servicio. (Se hereda de ServiceHostBase).
Método públicoAddDefaultEndpointsAgrega extremos de servicio para todas las direcciones base en cada contrato encontrado en el host del servicio con el enlace predeterminado. (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(ServiceEndpoint)Agrega el extremo de servicio especificado al servicio hospedado. (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(String, Binding, String)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del extremo. (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(String, Binding, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y un URI que contiene la dirección del extremo. (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(Type, Binding, String)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del extremo. (Se hereda de ServiceHost).
Método públicoAddServiceEndpoint(Type, Binding, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y un URI que contiene la dirección del extremo. (Se hereda de ServiceHost).
Método públicoAddServiceEndpoint(String, Binding, String, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace, una dirección del extremo y un URI que contiene la dirección en la que realiza escuchas. (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(String, Binding, Uri, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y URI que contienen la dirección del extremo y la de escucha (Se hereda de ServiceHostBase).
Método públicoAddServiceEndpoint(Type, Binding, String, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace y una dirección del extremo y un URI en el que escucha el servicio. (Se hereda de ServiceHost).
Método públicoAddServiceEndpoint(Type, Binding, Uri, Uri)Agrega un extremo de servicio al servicio hospedado con un contrato especificado, un enlace, un URI que contiene la dirección del extremo y uno en el que se escucha el servicio. (Se hereda de ServiceHost).
Método protegidoApplyConfigurationCarga la información de descripción de servicio del archivo de configuración y la aplica al tiempo de ejecución que se está construyendo. (Se hereda de ServiceHostBase).
Método públicoBeginClose(AsyncCallback, Object)Comienza una operación asincrónica para cerrar un objeto de comunicación. (Se hereda de CommunicationObject).
Método públicoBeginClose(TimeSpan, AsyncCallback, Object)Comienza una operación asincrónica para cerrar un objeto de comunicación con un tiempo de espera especificado. (Se hereda de CommunicationObject).
Método públicoBeginOpen(AsyncCallback, Object)Comienza una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject).
Método públicoBeginOpen(TimeSpan, AsyncCallback, Object)Comienza una operación asincrónica para abrir un objeto de comunicación dentro de un intervalo especificado de tiempo. (Se hereda de CommunicationObject).
Método públicoClose()Provoca que un objeto de comunicación pase de su estado actual al estado cerrado. (Se hereda de CommunicationObject).
Método públicoClose(TimeSpan)Provoca que un objeto de comunicación pase su estado actual al estado cerrado dentro de un intervalo de tiempo especificado. (Se hereda de CommunicationObject).
Método protegidoCreateDescriptionCrea una descripción del servicio hospedado. (Se hereda de ServiceHost).
Método públicoEndCloseCompleta una operación asincrónica para cerrar un objeto de comunicación. (Se hereda de CommunicationObject).
Método públicoEndOpenCompleta una operación asincrónica para abrir un objeto de comunicación. (Se hereda de CommunicationObject).
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFaultProvoca que un objeto de comunicación pase de su estado actual al estado de error. (Se hereda de CommunicationObject).
Método protegidoFinalize 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 protegidoGetCommunicationObjectTypeObtiene el tipo de objeto de comunicación. (Se hereda de CommunicationObject).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoIncrementManualFlowControlLimitAumenta el límite en la tasa de flujo de mensajes al servicio hospedado en un incremento especificado. (Se hereda de ServiceHostBase).
Método protegidoInitializeDescription(UriSchemeKeyedCollection)Crea e inicializa el host del servicio con las descripciones de servicio y contrato. (Se hereda de ServiceHostBase).
Método protegidoInitializeDescription(Object, UriSchemeKeyedCollection)Inicializa una descripción del servicio hospedado dependiendo de su instancia y las direcciones base especificadas. (Se hereda de ServiceHost).
Método protegidoInitializeDescription(Type, UriSchemeKeyedCollection)Inicializa una descripción del servicio hospedado dependiendo de su tipo y las direcciones base especificadas. (Se hereda de ServiceHost).
Método protegidoInitializeRuntimeInicializa el tiempo de ejecución para el host del servicio. (Se hereda de ServiceHostBase).
Método protegidoLoadConfigurationSectionCarga el elemento de servicio desde el archivo de configuración o el servicio hospedado. (Se hereda de ServiceHostBase).
Método protegidoMemberwiseClone Crea una copia superficial del Object actual. (Se hereda de Object).
Método protegidoOnAbortAnula el servicio. (Se hereda de ServiceHostBase).
Método protegidoOnBeginCloseComienza una operación asincrónica invocada en el cierre del host del servicio. (Se hereda de ServiceHostBase).
Método protegidoOnBeginOpenComienza una operación asincrónica invocada en la apertura del host del servicio. (Se hereda de ServiceHostBase).
Método protegidoOnCloseCierra el servicio hospedado, incluso sus distribuidores de canal y sus contextos de instancia y agentes de escucha asociados. (Se hereda de ServiceHostBase).
Método protegidoOnClosedDispone de servicios descartables que se hospedan cuando se cierra el host de servicio. (Se hereda de ServiceHost).
Método protegidoOnClosingSe invoca durante la transición de un objeto de comunicación al estado de cierre. (Se hereda de CommunicationObject).
Método protegidoOnEndCloseCompleta una operación asincrónica invocada en el cierre del host del servicio. (Se hereda de ServiceHostBase).
Método protegidoOnEndOpenCompleta una operación asincrónica invocada en la apertura del host del servicio. (Se hereda de ServiceHostBase).
Método protegidoOnFaultedInserta el procesamiento en un objeto de comunicación después de que éste pase al estado de error debido a la invocación de una operación sincrónica de error. (Se hereda de CommunicationObject).
Método protegidoOnOpenAbre los distribuidores del canal. (Se hereda de ServiceHostBase).
Método protegidoOnOpenedObtiene las credenciales de servicio, la autenticación de servicio y el comportamiento de autorización del servicio hospedado. (Se hereda de ServiceHostBase).
Método protegidoOnOpeningSe llama cuando la instancia WebServiceHost se abre. (Invalida a CommunicationObject.OnOpening()).
Método públicoOpen()Provoca que pase un objeto de comunicación desde el estado creado al estado abierto. (Se hereda de CommunicationObject).
Método públicoOpen(TimeSpan)Provoca que un objeto de comunicación pase del estado creado al estado abierto dentro de un intervalo de tiempo especificado. (Se hereda de CommunicationObject).
Método protegidoReleasePerformanceCountersLibera el servicio y los contadores de rendimiento de distribuidor de canal para el servicio hospedado. (Se hereda de ServiceHostBase).
Método públicoSetEndpointAddressEstablece la dirección del extremo especificado en la dirección especificada. (Se hereda de ServiceHostBase).
Método protegidoThrowIfDisposedProduce una excepción si se elimina el objeto de comunicación. (Se hereda de CommunicationObject).
Método protegidoThrowIfDisposedOrImmutableProduce una excepción si en el objeto de comunicación la propiedad State no está establecida en el estado Created. (Se hereda de CommunicationObject).
Método protegidoThrowIfDisposedOrNotOpenProduce una excepción si el objeto de comunicación no está en el estado Opened. (Se hereda de CommunicationObject).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Evento públicoClosedSe produce cuando un objeto de comunicación realiza una transición al estado de cerrado. (Se hereda de CommunicationObject).
Evento públicoClosingSe produce cuando un objeto de comunicación realiza una transición al estado de cerrando. (Se hereda de CommunicationObject).
Evento públicoFaultedSe produce cuando un objeto de comunicación realiza una transición al estado de error. (Se hereda de CommunicationObject).
Evento públicoOpenedSe produce cuando un objeto de comunicación realiza una transición al estado de abierto. (Se hereda de CommunicationObject).
Evento públicoOpeningSe produce cuando un objeto de comunicación realiza una transición al estado de abriendo. (Se hereda de CommunicationObject).
Evento públicoUnknownMessageReceivedSe produce cuando se recibe un mensaje desconocido. (Se hereda de ServiceHostBase).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoIDisposable.DisposeCierra el host del servicio. (Se hereda de ServiceHostBase).
Arriba

Si WebServiceHost no encuentra extremos en la descripción del servicio, crea automáticamente un extremo predeterminado en la dirección base del servicio para direcciones base HTTP y HTTPS.No crea automáticamente un extremo si el usuario ha configurado explícitamente un extremo en la dirección base. WebServiceHost configura automáticamente el enlace del extremo para que funcione con la configuración de seguridad de Internet Information Services (IIS) cuando se utilice en un directorio virtual seguro.

Al crear un extremo HTTP predeterminado, el WebServiceHost también deshabilita la página de ayuda de HTTP y la funcionalidad GET del lenguaje de descripción de servicios Web (WSDL) para que el extremo de metadatos no interfiera con el extremo HTTP predeterminado.

Además, la clase WebServiceHost agrega el WebHttpBehavior a todos los extremos que aún no tienen el comportamiento y que tienen un WebMessageEncodingElement.Si todas las operaciones del servicio tienen cuerpos de solicitud HTTP vacíos o tratan con el cuerpo de solicitud HTTP como una secuencia, WebServiceHost configura automáticamente el asignador del tipo de contenido adecuado para el enlace.

El siguiente ejemplo muestra cómo utilizar la clase WebServiceHost para hospedar un servicio que usa el modelo de programación de REST de .


[ServiceContract]
public interface ICalculator
{
    [OperationContract]
    [WebInvoke(UriTemplate = "add?x={x}&y={y}")]
    long Add(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "sub?x={x}&y={y}")]
    long Subtract(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "mult?x={x}&y={y}")]
    long Multiply(long x, long y);

    [OperationContract]
    [WebInvoke(UriTemplate = "div?x={x}&y={y}")]
    long Divide(long x, long y);

    [OperationContract]
    [WebGet(UriTemplate = "hello?name={name}")]
    string SayHello(string name);
}

public class CalcService : ICalculator
{
    public long Add(long x, long y)
    {
        return x + y;
    }

    public long Subtract(long x, long y)
    {
        return x - y;
    }

    public long Multiply(long x, long y)
    {
        return x * y;
    }

    public long Divide(long x, long y)
    {
        return x / y;
    }

    public string SayHello(string name)
    {
        return "Hello " + name;
    }
}

class Program
{
    static void Main(string[] args)
    {
        Uri baseAddress = new Uri("http://localhost:8000/");

        WebServiceHost svcHost = new WebServiceHost(typeof(CalcService), baseAddress);

        try
        {
            svcHost.Open();

            Console.WriteLine("Service is running");
            Console.WriteLine("Press enter to quit...");
            Console.ReadLine();

            svcHost.Close();
        }
        catch (CommunicationException cex)
        {
            Console.WriteLine("An exception occurred: {0}", cex.Message);
            svcHost.Abort();
        }
    }
}


.NET Framework

Compatible con: 4, 3.5

.NET Framework Client Profile

Compatible con: 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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft