Esempio n. 1
0
 /// <summary>
 /// 获取mongo单例
 /// </summary>
 /// <param name="url">连接字符串</param>
 /// <param name="database">数据库</param>
 /// <returns></returns>
 public static MongoDbClient GetInstance(string url, string database)
 {
     InstancePool.TryGetValue(url + database, out var instance);
     if (instance is null)
     {
         instance = new MongoDbClient(url, database);
         InstancePool.TryAdd(url + database, instance);
     }
     return(instance);
 }
Esempio n. 2
0
        /// <summary>
        /// 获取mongo默认单例
        /// </summary>
        /// <param name="database">数据库</param>
        /// <returns></returns>
        public static MongoDbClient GetDefaultInstance(string database)
        {
            string cs = ConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString ?? "mongodb://127.0.0.1:27017";

            InstancePool.TryGetValue(cs + database, out var instance);
            if (instance is null)
            {
                instance = new MongoDbClient(cs, database);
                InstancePool.TryAdd(cs + database, instance);
            }
            return(instance);
        }
Esempio n. 3
0
        /// <summary>
        /// 获取mongo线程内唯一对象
        /// </summary>
        /// <param name="url">连接字符串</param>
        /// <param name="database">数据库</param>
        /// <returns></returns>
        public static MongoDbClient ThreadLocalInstance(string url, string database)
        {
            MongoDbClient instance;

            if (CallContext <MongoDbClient> .GetData(url + database) == null)
            {
                instance = new MongoDbClient(url, database);
                CallContext <MongoDbClient> .SetData(url + database, instance);
            }

            instance = CallContext <MongoDbClient> .GetData(url + database);

            return(instance);
        }