Compartir a través de


IInstanceContextProvider Interfaz

Definición

Implemente esta interfaz para participar en la creación de un objeto InstanceContext, o elegir uno, sobre todo para habilitar sesiones compartidas.

public interface class IInstanceContextProvider
public interface IInstanceContextProvider
type IInstanceContextProvider = interface
Public Interface IInstanceContextProvider

Comentarios

Implemente la interfaz IInstanceContextProvider para proporcionar al sistema el objeto System.ServiceModel.InstanceContext adecuado. Normalmente, esta interfaz se implementa para admitir sesiones compartidas, habilitar la agrupación de instancias de servicio, controlar las duraciones de las instancias de servicio o agrupar contextos entre los clientes.

Por ejemplo, para implementar el uso compartido, inserte un objeto IInstanceContextProvider personalizado para decidir qué sesión o llamada de un cliente se asocia a qué objeto InstanceContext. Para obtener un ejemplo que muestra el uso compartido de contextos de instancia, vea InstanceContextSharing.

Nota

Cuando se inserta un en Windows Communication Foundation (WCF), la propiedad normal que controla la creación de objetos (la propiedad ) ya no se comprueba y IInstanceContextProvider InstanceContext no tiene ningún ServiceBehaviorAttribute.InstanceContextMode efecto.

Un mecanismo más genérico por el que puede inicializar objetos InstanceContext cuando se crean (por ejemplo, para adjuntar extensiones personalizadas a cada InstanceContext) es System.ServiceModel.Dispatcher.IInstanceContextInitializer.

Métodos

GetExistingInstanceContext(Message, IContextChannel)

Se le llama cuando se recibe un nuevo mensaje.

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

Se le llama cuando se devuelve null desde el método GetExistingInstanceContext(Message, IContextChannel).

IsIdle(InstanceContext)

Se le llama cuando todas las actividades de InstanceContext han terminado, para permitir que los implementadores eviten que se recicle InstanceContext.

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

Se le llama cuando el método IsIdle(InstanceContext) devuelve false para permitir que los implementadores proporcionen una devolución de llamada para notificar a WCF la finalización del objeto InstanceContext.

Se aplica a