質問

私はIIS上でホストされるWCF Webサービスを使用して、他のプラットフォームのためのデータを提供するC#で実装されたバックエンドを持つことになりますアプリケーションを設計の初期段階にいますよ。プラットフォームの一つであろうiPhoneます。

それは個人的なプロジェクトなので、私はMongoDBのを学ぶためにそれを使用したいです。私はすでにのMongoDBとC#のためのコミュニティ開発のドライバがあることを知っているので、私はMongoDBのを使用して、サーバー側の永続性を扱うことができます。

でも、MongoDBのが提供する複製モデルを知らなくても、私はiPhoneが接続されていないか、接続不良がある場合は、ローカルデータを保持するための簡単な同期モデルのいくつかの種類のことを考えていた。

ここで質問です:MongoDBのはMongoDBのCドライバを使用してiPhoneで使用することはできますか?誰もがすでにそれをしようとした?

役に立ちましたか?

解決

一般的なiPhoneのアーキテクチャは、アプリケーションがWebサービスを呼び出すことです。それは、モバイルクライアントから直接、MongoDBのドライバを使用することが可能であったとしても、私はそれをお勧めしません。いくつかの理由のために。

あなたは基本的に直接データストアに、クライアントアプリケーションの会談クライアント・サーバ・アーキテクチャをやって話している(MongoDBの。)どのようなセキュリティについてはどうですか?すべての認証されたクライアントは、データストアに直接話をすると悪い事のすべての種類が発生する可能性があります。

密任意のデータアクセス技術に直接クライアントアプリケーションを結合することは、何らかの理由で、あなたのデータ・アクセス・ソリューションを変更するために必要であれば、あなたのクライアントを書き換えるためにあなたを必要とすることで危険です。

クライアントアプリケーションは、データアクセス層を通過し、インターネットが関係しているときに、肘に深い書き込みサーバのコードを取得したい場合を除き、この層は、多くの場合、ある種のWebサービスが含まれます。

あなたのiPhoneクライアントにデータストアを暴露するRESTfulなAPIを書くことについて考えてみてください。私は(C#RESTライブラリ)

オープンラスタについて良いものを聞きました

編集 - iPhone上のMongoDBをホスティングの詳細

申し訳ありませんが、私はあなたのiPhone上でローカルにMongoDBを実行したいことを理解していませんでした。 MongoDBはサーバーです。私はそれがインプロセスデータストアとして組み込み可能であることを信じていません。そして、それはiPhone上で複数のプロセスを実行することはできません。

あなたは、C#に精通している場合は、

あなたは MonoTouchでにチェックアウトする場合があります。それはあなたのiPhone上のC#アプリケーションを実行することができます。 iPhoneでサポートされている SqlLite に使用するための素敵なライブラリがあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top