У меня есть запросы, которые я выполняю против индекса Solr, которые иногда имеют очень длинные параметры запроса, я получаю ошибки, когда выполняю эти запросы, что, как я полагаю, делает до предела параметров запроса GET.
Вот метод, который я использую для запроса (JSON), чтобы показать, что я использую расширения Http (клиент, который я использую, является тонкой оболочкой для HttpClient), а не сквозное решение. 90% запросов работают нормально, просто когда параметры большие, я получаю ошибку 500 от solr. Я где-то читал, что вы можете использовать POSt при выполнении команды select, но не нашел примеров того, как это сделать. Любая помощь будет фантастической!
public string GetJson(HttpQueryString qs)
{
using (var client = new DAC.US.Web.XmlHttpServiceClient(this.Uri))
{
client.Client.DefaultHeaders.Authorization = new Microsoft.Http.Headers.Credential("Basic", DAC.US.Encryption.Hash.WebServiceCredintials);
qs.Add("wt", "json");
if (!String.IsNullOrEmpty(this.Version))
qs.Add("version", this.Version);
using (var response = client.Get(new Uri(@"select/", UriKind.Relative), qs))
{
return response.Content.ReadAsString();
}
}
}