Compartilhar via


IInstanceContextProvider Interface

Definição

Implementar participar da criação ou escolha de um objeto InstanceContext, especialmente para habilitar sessões compartilhadas.

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

Comentários

Implemente IInstanceContextProvider a interface para fornecer o objeto apropriado ao System.ServiceModel.InstanceContext sistema. Normalmente, essa interface é implementada para dar suporte a sessões compartilhadas, habilitar o pooling de instâncias de serviço, controlar os tempo de vida das instâncias de serviço ou agrupar contextos entre clientes.

Por exemplo, para implementar o compartilhamento, insira um personalizado para decidir qual sessão ou chamada de um IInstanceContextProvider cliente está associada a qual InstanceContext objeto. Para ver um exemplo que demonstra o compartilhamento de contextos de instância, consulte InstanceContextSharing.

Observação

Quando um é inserido no WCF (Windows Communication Foundation), a propriedade normal que controla a criação de objetos (a propriedade) não é mais verificada e não tem IInstanceContextProvider InstanceContext nenhum ServiceBehaviorAttribute.InstanceContextMode efeito.

Um mecanismo mais genérico pelo qual você pode inicializar objetos quando criado (por exemplo, para anexar extensões personalizadas a InstanceContext cada ) é o InstanceContext System.ServiceModel.Dispatcher.IInstanceContextInitializer .

Métodos

GetExistingInstanceContext(Message, IContextChannel)

Chamado quando uma nova mensagem é recebida.

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

Chamado quando null é retornado do método GetExistingInstanceContext(Message, IContextChannel).

IsIdle(InstanceContext)

Chamado quando todas as atividades InstanceContext foram concluídas para permitir que os implementadores impeçam a reciclagem do InstanceContext.

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

Chamado quando o IsIdle(InstanceContext) método retorna false para permitir que os implementadores forneçam um retorno de chamada para notificar o WCF quando o objeto InstanceContext é concluído.

Aplica-se a