2011-05-13 40 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