2011-05-13 37 views
4

有沒有人在Silverlight中使用過mongodb?你使用了哪個驅動程序? Silverlight僅支持異步套接字;但它看起來像可用的C#驅動程序是同步的。mongodb + silverlight

回答

2

它可能會是最好的一個輕量級的Web API坐着它可以通過與WCF,SOAP,REST您的Silverlight應用程序消耗等

+0

問題是我們正在爲mongodb開發[管理工具](http://mongoexplorer.com)。所以我不想在服務器上使用一些特殊的東西。但我喜歡你的想法,關於使用官方的C#驅動程序。但最好通過WCF RIA Services在客戶端上使用它 – Eugeny89 2011-05-19 07:04:13

+0

我前幾天在看MongoExplorer,看起來不錯,工作很好! – 2011-05-19 07:14:19

+0

我們使用舊驅動程序(2009年),並且在將它用於Silverlight的異步套接字時我們感到非常頭疼!如果我們能以某種方式使用官方驅動程序,那將是很棒的! – Eugeny89 2011-05-19 08:58:29

4

不管你信不信,我的第一個MongoDB項目就是Silverlight。 IronPython,一些C#。這是在2009年,我們開始使用類似MongoDB的0.8或0.9的東西......所以它已經有一段時間了。

這是我覺得2.X的Silverlight所以這是很難完成的事情如直接數據庫連接。也就是說,我會建議當時去的路線。

使用你的服務器端的REST + JSON API,讓你的客戶通過該通信。我們用Python做了我們的工作,但是現在有一些非常棒的預編譯的Mongo REST接口,如Sleepy Mongoose,如果你不想推出你自己的。

這樣做的最大好處是安全性的問題:從客戶端直接數據庫連接服務器,即使驗證您運行的用戶的風險,進入你的數據庫......在這一點,他們可以做他們想做的任何事因爲MongoDB身份驗證在數據庫級別限制訪問,但不是人們可以看到或刪除的內容。在某些情況下,這甚至不需要反彙編代碼,因爲我記得,開發瀏覽器插件允許您從IronPython和IronRuby編寫運行的Silverlight應用程序的腳本。

還有其他原因,包括同步的問題,但總體來說,我認爲有一個服務器端的接口蒙戈與會談的Silverlight將更好地爲您提供一個乾淨,安全的門面。

+0

問題是我們正在使用的應用程序是用於mongodb的管理工具。所以沒有服務器接口是可能的 – Eugeny89 2011-05-14 21:10:31

1

這不是在服務器上使用官方10gen公司MongoDB C# driver似乎是從silverlight訪問mongoDB的好習慣。

我建議你包在乾淨的WCF服務(可能是數據服務)所有的命令,完全抽象蒙戈管道。

這將允許你控制什麼樣的操作都可以做,誰能夠執行命令,並與進化協議。

+0

hm。我完全不瞭解你的帖子。你建議使用類似WCF RIA Services的東西? – Eugeny89 2011-05-20 13:34:17

+0

沒有專門的RIA服務,但至少有:mongodb <-->定製服務(WCF是一種方法)<-->您的應用程序。實際上,您將自定義服務 – 2011-05-20 13:44:35

+0

hm中的mongodb包裝爲特定的。我懂了。也許你可以提供一些鏈接,描述類似的解決方案?是否有可能採用某種解決方案,並且除Silverlight之外還需要運行該應用程序? PS:請不要像其他人那樣在服務器端建議技巧。 – Eugeny89 2011-05-20 14:27:00