C# 在dotNetRdf中为远程SPARQL连接器应用自定义请求选项
我正在尝试向HTTP请求添加自定义头。连接器是一个自定义的,它继承了一个我可以重写的方法。该方法的文档说明 […]向请求中添加任何其他自定义请求选项/标题 但是,从未调用我的重写方法(因此未应用我的自定义选项,因此无法添加标题) 以下代码按预期工作,但从未调用myC# 在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
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。您可以在此处跟踪问题的状态: