IInstanceContextProvider Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
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 |