将参考Elasticsearch.Net
从1.0.0升级到5.3.0后,我不断收到此错误:
Additional information: Method not found: 'Elasticsearch.Net.IApiCallDetails Elasticsearch.Net.IBodyWithApiCallDetails.get_CallDetails()'.
我不确定它来自哪里,我尝试更改连接到elasticsearch的代码,就像这里https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/connecting.html
它在控制器中崩溃了。在调试时我实际上并没有得到GetServicesStatus(),我想它只是初始化StatsFacade。问题是连接设置等。
为什么会发生这种情况?
[HttpGet]
[Route("servicesState")]
public HttpResponseMessage GetServicesState()
{
var servicesState = StatsFacade.GetServicesStatus();
return servicesState;
}
public class StatsFacade : BaseFacade
{
public const int DefaultDaysRange = 10;
static SingleNodeConnectionPool connectionPool = new SingleNodeConnectionPool(new Uri(ConfigurationManager.AppSettings["Stats:ConnectionString"]));
static ConnectionSettings _apiCallsSettings = new ConnectionSettings(connectionPool, new InMemoryConnection())
.DefaultIndex(ConfigurationManager.AppSettings["Stats:DefaultIndex"])
.BasicAuthentication(ConfigurationManager.AppSettings["Es:User"], ConfigurationManager.AppSettings["Es:Password"])
.DisableDirectStreaming();
public static HttpResponseMessage GetServicesStatus()
{
ElasticClient client = new ElasticClient(_apiCallsSettings);
//...
//...
}
}
它在ElasticClient初始化ElasticClient client = new ElasticClient(settings);
答案 0 :(得分:7)
Elasticsearch.NET库已更新,但未更新NEST库,这导致了问题。