Pergunta

Eu sou novo para o WCF e tentou criar meus primeiros serviços WCF. classe adicionada (nova montagem), que tem código não gerenciado e fazer manipulação de arquivos. comportamento de serviço é definido como segue

InstanceContextMode = InstanceContextMode.Single

ConcurrencyMode = ConcurrencyMode.Single

Quando o serviço é acessado é o modo single, a nova classe manipulação de arquivo é criado. Notei que se a classe manipulação de arquivos falhar (vazamento de memória ou erro crítico) todas as novas conexões para hospedar afetados por conexões anteriores.

É possível criar instâncias Wcf que são totalmente isolados entre si e totalmente destruído após conexão do cliente é fechada?

Atenciosamente, Tomas

Foi útil?

Solução

Sim, isso é o modo preferido - é chamado de "per-call":

InstanceContextMode = InstanceContextMode.PerCall

ConcurrencyMode = ConcurrencyMode.Single

Dessa forma, cada pedido de entrar em seu serviço WCF irá recebe-lo próprio, separado exemplo, isolado da classe de serviço, e essa instância irá lidar com o pedido e, em seguida, ser eliminado.

Isso deve lhe dar o máximo de desempenho e isolamento de pedidos de um outro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top