适用于C#和iPhone应用程序的MongoDB

我正处于设计应用程序的初始阶段,该应用程序将使用C#实现后端,该后端将使用IIS上托管的WCF Web服务为其他平台提供数据.其中一个平台将是iPhone.

由于这是一个个人项目,所以我想用它来学习MongoDB.我已经知道社区已经为MongoDB和C#开发了驱动程序,因此我可以使用MongoDB处理服务器端的持久性.

甚至不知道MongoDB提供的复制模型,我在考虑某种简单的同步模型,以在iPhone未连接或连接不良时将数据保持在本地.

问题是:可以使用MongoDB C驱动程序在iPhone中使用MongoDB吗?有人尝试过吗?

解决方法:

iPhone的典型体系结构是将您的应用程序调出到Web服务.即使可以直接从移动客户端使用MongoDB驱动程序,我也不推荐这样做.由于一些原因.

您基本上是在谈论客户端服务器体系结构,在该体系结构中您的客户端应用程序直接与数据存储区(MongoDB)进行通信.安全性如何?当任何经过身份验证的客户端直接与数据存储区对话时,可能会发生各种不良情况.

将客户端应用程序直接直接耦合到任何给定的数据访问技术是危险的,因为如果出于某种原因需要更改数据访问解决方案,则需要重写客户端.

如今,让客户端应用程序经过数据访问层变得更加普遍,而当涉及到Internet时,除非您希望肘部深入编写服务器代码,否则该层通常会涉及某种Web服务.

考虑考虑编写一个RESTful api,将您的数据存储区暴露给iPhone客户端.我听说过有关Open Rasta的好消息(C#REST库)

编辑-有关在iPhone上托管MongoDB的更多信息

抱歉,我不明白您希望在iPhone上本地运行MongoDB. MongoDB是服务器.我不认为它可以作为进程内数据存储嵌入.而且,在iPhone上不能运行多个进程.

如果您熟悉C#,则可能要签出MonoTouch.它使您可以在iPhone上运行C#应用程序.有一个很好的库供iPhone支持使用SqlLite.

上一篇:MGR参数之group_replication_member_weight


下一篇:在windows上传一个新的项目到GitHub上