其他信息:找不到方法:'Elasticsearch.Net.IApiCallDetails Elasticsearch.Net.IBodyWithApiCallDetails.get_CallDetails()'

时间:2017-04-04 06:30:43

标签: c# asp.net .net elasticsearch elasticsearch-net

将参考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);

上崩溃

1 个答案:

答案 0 :(得分:7)

Elasticsearch.NET库已更新,但未更新NEST库,这导致了问题。