C# 在dotNetRdf中为远程SPARQL连接器应用自定义请求选项

C# 在dotNetRdf中为远程SPARQL连接器应用自定义请求选项,c#,.net,sparql,dotnetrdf,C#,.net,Sparql,Dotnetrdf,我正在尝试向HTTP请求添加自定义头。连接器是一个自定义的,它继承了一个我可以重写的方法。该方法的文档说明 […]向请求中添加任何其他自定义请求选项/标题 但是,从未调用我的重写方法(因此未应用我的自定义选项,因此无法添加标题) 以下代码按预期工作,但从未调用myApplyCustomRequestOptions: using System; using System.Net; using VDS.RDF.Query; using VDS.RDF.Storage; class Program

我正在尝试向HTTP请求添加自定义头。连接器是一个自定义的,它继承了一个我可以重写的方法。该方法的文档说明

[…]向请求中添加任何其他自定义请求选项/标题

但是,从未调用我的重写方法(因此未应用我的自定义选项,因此无法添加标题)

以下代码按预期工作,但从未调用my
ApplyCustomRequestOptions

using System;
using System.Net;
using VDS.RDF.Query;
using VDS.RDF.Storage;

class Program
{
    static void Main(string[] args)
    {
        var endpointUri = new Uri("https://query.wikidata.org/sparql");

        var endpoint = new CustomEndpoint(endpointUri);

        using (var connector = new SparqlConnector(endpoint))
        {
            var result = connector.Query("SELECT * WHERE {?s ?p ?o} LIMIT 1");
        }
    }
}

public class CustomEndpoint : SparqlRemoteEndpoint
{
    public CustomEndpoint(Uri endpointUri) : base(endpointUri) { }

    protected override void ApplyCustomRequestOptions(HttpWebRequest httpRequest)
    {
        // This is never executed.
        base.ApplyCustomRequestOptions(httpRequest);
        // Implementation omitted.
    }
}
这是使用这些方法的正确方法吗?如果不是,那是什么?


顺便说一句,这是dotnetrdf1.0.12、.net4.6.1。我尝试了多个SPARQL端点、多个查询(
SELECT
&
CONSTRUCT
)和多个调用
SparqlConnector.Query

这是一个bug。我已发现问题并进行了修复并提交了PR。您可以在此处跟踪问题的状态: