首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SolrNet连接说明

SolrNet连接说明
EN

Stack Overflow用户
提问于 2011-07-26 21:20:59
回答 1查看 5.1K关注 0票数 5

为什么SolrNet连接的容器保持静态?这是一个非常大的错误,因为在我们的应用程序中,当我们向应用程序发送异步请求时,SolrNet的行为就会异常。如何在SolrNet中避免这个问题?

代码语言:javascript
复制
class P
{
    static void M(string[] a)
    { 
        Thread t = new Thread(delegate()
        {
            f1();
        });
        Thread t1 = new Thread(delegate()
        {
            f2();
        });

        t.Start();
        t1.Start();
        t.Join();
        t1.Join();
    }

    static void f1()
    {
        Startup.Init<Doc>(new SolrNet.Impl.SolrPostConnection("http://localhost:8983/solr3/"));
        ISolrOperations<Doc> solrOperations2 = ServiceLocator.Current.GetInstance<ISolrOperations<Document>>();
    }

    static void f2()
    {
        Startup.Init<Doc>(new SolrNet.Impl.SolrPostConnection("http://localhost:8983/solr1/"));
        ISolrOperations<Doc> solrOperations2 = ServiceLocator.Current.GetInstance<ISolrOperations<Document>>();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-27 01:30:33

  1. 作为explained in the wiki,内置容器(启动)目前仅限于访问具有不同映射类型的多核/实例。如果您希望获得更大的灵活性,可以切换到Windsor / StructureMap / Autofac或内置容器中的help implement this feature.
  2. Registrations可能不是线程安全的,但是在不同的线程中注册/初始化SolrNet不会有任何好处。只需将所有初始化移动到单个线程,实际繁重的工作在执行solr.Query(...)时执行。或solr.Add(...)它是线程安全的。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6830623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档