Configurando o tempo limite de conexão no servidor Virtuoso via string de conexão

1

Eu iniciei o serviço Virtuoso no Windows com as seguintes configurações (essa é a parte importante do arquivo de configuração):

ResultSetMaxRows            = 10000
MaxQueryCostEstimationTime  = 40000 ; in seconds
MaxQueryExecutionTime       = 60000 ; in seconds
DefaultQuery                = select * where{?x ?y ?z}
DeferInferenceRulesInit     = 0  ; controls inference rules loading

Estou usando a biblioteca dotNetRDF para fazer consultas locais para o servidor local. A biblioteca faz o tempo limite de 30 segundos, mas eu posso substituir o tempo limite padrão enviando uma string de conexão ao iniciar o objeto:

VirtuosoManager manager = new VirtuosoManager("Server=localhost;Uid=dba;pwd=dba;Connection Timeout=500");

Ele ainda atinge 30 segundos, se minha consulta for complexa o suficiente para processar em mais de 30 segundos ...

Meu projeto usa algumas consultas complexas, então preciso da propriedade de tempo limite o maior possível. Como posso substituir essa propriedade?

    
por smohamed 17.02.2012 / 02:49

1 resposta

1

A classe DBcommand do Provedor do ADO.Net da Virtuoso tem um CommandTimeout propriedade, com um valor padrão de 30 segundos, conforme detalhado na documentação da classe VirtuosoCommand .

Este é o tempo limite que você está atingindo (não um Tempo Limite de Conexão).

A partir da revisão 2148, a biblioteca dotNetRDF permite que esse valor de propriedade seja definido conforme necessário.

    
por 25.09.2014 / 22:09