• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    MongodbConnectionString

    來源:懂視網 責編:小采 時間:2020-11-09 15:13:27
    文檔

    MongodbConnectionString

    MongodbConnectionString:本文檔描述定義的URI格式之間,以及應用程序和MongoDB實例的連接,參考官方MongoDB的驅動。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 標準連接字符串格式 本節描述的
    推薦度:
    導讀MongodbConnectionString:本文檔描述定義的URI格式之間,以及應用程序和MongoDB實例的連接,參考官方MongoDB的驅動。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 標準連接字符串格式 本節描述的

    繼續查找發現了另一篇文章。只做重點翻譯:

    內部認證

    當你只需要一個用戶,它在連接字符串中指定這是可能的。

    var connectionString ="mongodb://user1:password1@localhost/test";
    var mongoClient = newMongoClient(connectionString);
     
    注意: 如果你不指定一個數據庫連接字符串,默認的數據庫是“admin”數據庫.

    看到這里心里狂喜,終于可以進行配置文件的設置了,但是發現c#的驅動并不支持這樣的編寫,于是又是一個失落。

    鏈接原理:

    鏈接數據庫,官方提供了兩種線程安全的方式,一個是MongoClient, 另一個是MongoServer,都是線程安全的,自動進行鎖定的。

    利用服務端類鏈接數據庫

    // Create server settings to passconnection string, timeout, etc.
    MongoServerSettingssettings =newMongoServerSettings();
    settings.Server = new MongoServerAddress("localhost",27017);
    // Create server object tocommunicate with our server
    MongoServer server = new MongoServer(settings);
    // Get our databaseinstance to reach collections and data
    var database = server.GetDatabase("MessageDB");

    客戶端類鏈接數據庫的實例

    var client = new MongoClient("mongodb://localhost:27017");
    var server = client.GetServer();
    var database = server.GetDatabase("foo");
    var collection = database.GetCollection("bar");

    以上的兩種鏈接方式我都做個測試。并且都可以用。這是一般更傾向于客戶端的鏈接方式。

    通過查找Api,發現客戶端的類的構造方法還有其他的

     public MongoClient();
     public MongoClient(MongoClientSettingssettings);
     public MongoClient(MongoUrl url);
     public MongoClient(stringconnectionString);

    我們通常用的是string字符串的鏈接,這次對MongoClientSettings進行的深度的查找調用發MongoClientSettings 是可以進行更多的參數設置的,和Option類似,于是找到了解決方案,通過配置文件對MongoClientSettings進行參數設置。

    默認情況下,最大鏈接池是100,最小是0,數據庫鏈接是本地的。下面我們看測試

    MongoClientSettings settingsclient = newMongoClientSettings();//實例化客戶端設置類

    \

    紅色劃線部分是默認的參數,當我們不填寫任何參數,驅動程序是進行默認的參數設置的。

    通過客戶端類的參數設置可以發現已經有所不同了。

    \

    那代碼是如何編寫的呢

    #region 讀取配置文件信息
    
     //獲取鏈接池大小
    
     int connectionPool =Convert.ToInt32(ConfigurationManager.AppSettings["connectionPool"]);
    
     int minpool =Convert.ToInt32(ConfigurationManager.AppSettings["minpool"]);
    
     string hostname =ConfigurationManager.AppSettings["hostname"];
    
     Int32 port =Convert.ToInt32(ConfigurationManager.AppSettings["port"]);
    
     string database =ConfigurationManager.AppSettings["database"];
     
     #endregion
     
     if (String.IsNullOrEmpty(ConnectionString))
    
     {
    
     throw newArgumentNullException("Connection string not found.");
    
     }
    
     #region 客戶端類設置
    
     MongoServerAddress ipaddress = newMongoServerAddress(hostname, port);//設置服務器的ip和端口
    
     MongoClientSettings settingsclient= new MongoClientSettings();//實例化客戶端設置類
    
     settingsclient.Server =ipaddress;//端口賦值
    
     settingsclient.MaxConnectionPoolSize = connectionPool;
    
     settingsclient.MinConnectionPoolSize = minpool;
    
     settingsclient.ConnectionMode =0;//鏈接模式設置
    
     // MongoUrl url=newMongoUrl(ConnectionString);
    
     MongoClient client = newMongoClient(settingsclient);//調用客戶端類構造函數設置參數
    
     MongoServer server =client.GetServer();//服務端獲取客戶端參數
    
     DB =server.GetDatabase(database);//獲取數據庫名稱
    
     #endregion 

    剛開始我也是不知道如何進行參數賦值,只是在一步步的操作中發現參數是有類型的,一些類型是一些引用類,就需要實例化賦值。所以才有最后看起來很多的參數。

    配置文件中的信息

    
    
     
    
     
    
     
    
     
    
     
    

    當然了客戶端的方式寫出來了。服務端也就容易的很多了

    #region 服務端鏈接設置
    
     MongoServerSettings mongoSetting =new MongoServerSettings();
    
     //mongoSetting.Server = newMongoServerAddress(ConnectionString, connectionPool);
    
     mongoSetting.MaxConnectionPoolSize= connectionPool;//設定最大連接池
    
     mongoSetting.Server = newMongoServerAddress(hostname, port);
    
     MongoServer server =MongoServer.Create(mongoSetting);//創建連接數據文件
    
     DB = server.GetDatabase(database);
    
     #endregion 

    認識:

    由于該數據庫的參考資料比較少,所以多數資料還是外文,剛開始看到很是驚訝,如此多的英語能看的明白么。但是只要心境平靜,一切都是可以的。通過基本的查找和一些外文論壇了解的基本的設置。很像SQL的設置,但是又不同,需要進行代碼設置,這是這個代碼的參數可以寫在配置文件中。這次的資料查找我深刻認識到,英語是非常非常重要的工具,如果你想更深入的了解,英語是必不可少的利器。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    MongodbConnectionString

    MongodbConnectionString:本文檔描述定義的URI格式之間,以及應用程序和MongoDB實例的連接,參考官方MongoDB的驅動。 原文 :http://docs.mongodb.org/manual/reference/connection-string/#connections-connection-options 標準連接字符串格式 本節描述的
    推薦度:
    標簽: 文檔 描述 string
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲精品国产va在线观看蜜芽| 2021最新国产精品网站| 久久亚洲精品中文字幕| 国产精品极品| 久久精品国产91久久综合麻豆自制| 亚洲精品高清国产一线久久| 惠民福利中文字幕人妻无码乱精品| 97久久久久人妻精品专区| 亚洲精品美女久久777777| 精品久久综合1区2区3区激情| 极品精品国产超清自在线观看| 少妇人妻偷人精品视频| 亚洲国产精品成人午夜在线观看 | 91精品日韩人妻无码久久不卡| 精品9E精品视频在线观看| 中日韩产精品1卡二卡三卡| 久久精品国产黑森林| 国产精品婷婷午夜在线观看 | 精品久久久久久久中文字幕| 亚洲精品综合一二三区在线| 九九精品免视看国产成人| 国产精品9999久久久久| 久久精品国产亚洲77777| 中日精品无码一本二本三本| 日韩精品一区二区三区视频| 四虎精品成人免费视频| 欧美精品一区二区三区免费| 国产偷窥熟女高潮精品视频| 99久久精品免费看国产一区二区三区 | 精品露脸国产偷人在视频 | 欧美精品一区二区精品久久 | 99热成人精品热久久669| 国产成人亚洲综合无码精品| 久久婷婷国产综合精品| 久久亚洲精品成人AV| 久久99精品久久久久久久不卡 | 欧美黑人巨大精品| 2021国产精品视频网站| 国产999精品久久久久久| 国产精品久久久99| 国产精品永久免费|