通过连接字符串在virtuoso服务器中设置连接超时

时间:2012-02-17 01:43:22

标签: timeout virtuoso dotnetrdf

我使用以下配置在Windows上启动了virtuoso服务(这是配置文件的重要部分):

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

我正在使用dotNetRDF库对本地服务器进行本地查询(库使超时为30秒),但我可以通过在启动对象时发送连接字符串来覆盖默认超时:

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

它仍然在30秒时超时(如果我的查询足够复杂,可以在30秒内处理......

我的项目使用了一些复杂的查询,所以我需要尽可能大的超时属性,如何覆盖该属性?

1 个答案:

答案 0 :(得分:0)

Virtuoso ADO.Net Provider DBcommand类具有CommandTimeout属性,默认值为30秒,详见VirtuosoCommand class documentation

这是你要达到的超时(不是连接超时)。

从版本2148开始,dotNetRDF库允许根据需要设置此属性值。