SolrNet多核与AutoFac

时间:2013-06-01 06:59:55

标签: solr autofac solrnet

我正在使用SolrNet 4.0。 Solr中有多核实现。我正在使用Autofac作为IoC。

var cores = new SolrServers
{
    new SolrServerElement 
    {
        Id = "entity1",
        DocumentType = typeof(Entity1).AssemblyQualifiedName,
        Url = "http://localhost:8983/solr/coreEntity1",
    },

    new SolrServerElement 
    {
        Id = "entity2",
        DocumentType = typeof(Entity2).AssemblyQualifiedName,
        Url = "http://localhost:8983/solr/coreEntity2",
    },
};


builder.RegisterModule(new SolrNetModule(cores));
var container = builder.Build();
var solrOperations1 =
    container.ResolveNamed<ISolrOperations<Entity1>>("entity1");
var solrOperations2 =
    container.ResolveNamed<ISolrOperations<Entity2>>("entity2");

以上是将内核注册到IoC。 但是当我从那个容器中解析时,得到了如下的错误。

  

请求的服务'entity1(SolrNet.ISolrOperations`1 [[Entity1,   TestApp,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]])'有   没有注册。要避免此异常,请注册a   组件提供服务,检查服务注册使用   IsRegistered(),或使用ResolveOptional()方法来解析   可选的依赖。

我在代码中做错了什么或遗失了什么?

感谢。

0 个答案:

没有答案