我知道我們在使用cursor.getServerAddress()的Java驅動程序中有它。但是,我無法在C#中找到任何相關的調用。如何獲取數據從服務器的服務器地址
2
A
回答
3
不幸的是,儘管通過C#驅動程序源代碼(以及Java源代碼查看它在做什麼)深入瞭解了一些內容,但作爲提取一部分使用的實際服務器地址隱藏在枚舉器中作爲私人會員(_serverInstance
)。
特別是,它隱藏在名爲MongoCursorEnumerator
的類中。不幸的是,沒有一個「誠實」的方式來獲得它。你可以使用.NET反射來實現它,但這通常不是一個好主意,特別是對於你不擁有的代碼。如果您想擁有該驅動程序的自定義分支,則可以輕鬆將其添加爲新屬性。您可能想要添加問題here。
通常,您可以獲取MongoDB連接使用的實例,因爲它們在MongoServerInstance
類,Address
屬性上可用。
cursor.Server.Instance.Address.Host
或
cursor.Server.Instances[]
:
var client = new MongoClient();
var server = client.GetServer();
// server.Instance.Address
然而,在你的情況,你也可以從cursor
通過Server
財產得到它
當有多個實例可用時,C#驅動程序會引發有趣的拋出和異常。因此,如果您不知道有多少個實例,則需要處理exception
(InvalidOperationException
),或者始終使用Instances[]
屬性返回關聯的實例。
相關問題
- 1. 如何獲取服務器IP地址?
- 2. 如何從IP地址獲取服務器的機器名稱?
- 3. 獲取服務器IP地址
- 4. 獲取IP地址當前服務器
- 5. 在服務器端獲取本地IP地址的非服務器端方法?
- 6. 如何從bitcoind服務器獲取硬幣地址餘額?
- 7. 服務人員 - 從我的服務器獲取推送數據
- 8. 從服務器獲取數據Objective-C
- 9. Android,從服務器獲取數據
- 10. 從服務器獲取json數據
- 11. 從週期服務器獲取數據
- 12. HorizontalScrollView從服務器獲取數據
- 13. 角從服務器獲取數據MVC
- 14. iOS從服務器獲取數據
- 15. 從服務器獲取數據
- 16. 從服務器獲取數據objective-c
- 17. 如何獲取從服務器獲取數據的url/xmlhttprequest?
- 18. 服務器的IP地址
- 19. C#web服務從sql服務器獲取數據
- 20. md-autocomplete angular2從服務器獲取數據(使用服務)
- 21. 如何獲取響應WebResponse的服務器的IP地址C#
- 22. 如何獲取請求來自的服務器的IP地址?
- 23. 如何獲取getaddrinfo查詢的DNS服務器的地址
- 24. 從本地服務器插入數據到在線服務器
- 25. 如何在.NET中獲取服務器的IP地址?
- 26. 如何獲取asp.net中的服務器/網站IP地址?
- 27. 如何在rails上獲取主機服務器的IP地址
- 28. 如何從ReactJS(服務器URL)中的瀏覽器獲取URL地址
- 29. 如何獲得 「JBoss服務器綁定地址」 從servlet的
- 30. 從服務器獲取
謝謝WiredPrairie。我試過了,但它不是我正在尋找的那個。它會在連接字符串中返回IP地址。在我的情況下,我連接到具有2個輔助服務器的複製組。我想獲取從中提取數據的服務器的服務器地址。我使用ReadPreference.Secondary模式。在我們閱讀文檔時,驅動程序將循環查詢並將查詢路由到服務器。 – 2013-04-08 22:02:11
@TuongHuynh - 啊。我誤解了。它幾乎相同。請參閱編輯(通過'cursor.Server.Address'屬性。 – WiredPrairie 2013-04-09 00:04:53
@TuongHuynh - 當使用Instances時會發生什麼? – WiredPrairie 2013-04-09 01:32:27