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

2024-04-30

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

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

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

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


典型的 iPhone 架构是让您的应用程序调用 Web 服务。即使可以直接从移动客户端使用 MongoDB 驱动程序,我也不会推荐它。出于几个原因。

您基本上是在谈论客户端服务器架构,其中客户端应用程序直接与数据存储(MongoDB)对话。安全性怎么样?当任何经过身份验证的客户端直接与数据存储对话时,可能会发生各种不好的事情。

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

如今,让客户端应用程序经过数据访问层是很常见的,当涉及 Internet 时,该层通常涉及某种 Web 服务,除非您想深入编写服务器代码。

考虑编写一个 RESTful api,将您的数据存储区暴露给您的 iPhone 客户端。我听说过一些好消息打开拉斯塔法 http://trac.caffeine-it.com/openrasta(C# REST 库)

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

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

如果您熟悉 C#,您可能想查看一下单点触控 http://monotouch.net/。它允许您在 iPhone 上运行 C# 应用程序。有一个不错的库可供使用SqlLite http://code.google.com/p/sqlite-net/iPhone 支持。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于 C# 和 iPhone 应用程序的 MongoDB 的相关文章

随机推荐