0

私は .NET 4 Winforms アプリに取り組んでおり、データベースを処理する最善の方法を決定するのに問題があります。私たちは、アプリが WCF サービスを介して「クラウド」と通信できるクラウド データベース システムを提供したいと考えています。基本的には、ローカル データベース (ローカルの SQL Express、サーバー上の SQL Server 2008 R2) への接続と同じことを行います。

次の 2 つのオプションがあります。

1) WCF を使用してクラウド データベースへのすべての呼び出しを行う 2) ローカル データベースを使用し、Microsoft Sync Framework を使用してクラウドの同期を維持する

最終的には、クラウド データをユーザーの別のフロント エンドとしても使用する Web アプリケーションを用意する予定です。

ジレンマは明らかにどちらを使用するかです。オプション 1 を使用する場合、公共の場所など、ソフトウェアが使用されるすべての場所に SQL Express をインストールする必要はなく、ユーザーのデータはその DB にダウンロードされる可能性があります。WCF オプションを使用すると、すべてのデータを中央に配置できます。

iPhone、iPad、および Android もクラウドと同期できるように、最終的にモバイルで折りたたむ予定です。

厳密にクラウドのデータベース オプションと、時々接続するオプション、つまりデータベースがローカルで、クラウドに同期されているオプションとの比較について、あなたの意見に興味があります。

ありがとうございました。

4

1 に答える 1

0

オフライン/時折接続するシナリオを許可したい場合は、必要に応じてオプション 1) と 2) の両方を選択してみませんか? データベースがどこにあるか (クラウドまたはローカル データベース) に関係なく、WCF を介して同じ n 層アーキテクチャを使用してデータベースにアクセスする場合、コードは常に同じになります。唯一の違いは、時々接続されるアプリケーションがデータを同期することです (これもおそらくWCF 経由)。

同期と直接アクセスの 1 つの問題は、それ自体がリアルタイムではないことです。つまり、他のユーザーがデータにアクセスして更新するため、通常、競合などを処理する方法を検討する必要があります。実際に必要がない場合 (接続が主な理由である場合もあります) )オフライン機能については、1)を使用します。上記から、保存するデータの種類、ユーザー固有のデータ、およびデータのサイズも明確ではありませんが、特にセキュリティとパフォーマンスに関しては、これらは同期を使用する場合の非常に現実的な懸念事項です。

ソリューションが何をしようとしているのかについてより多くの情報を提供できれば、それも役立つかもしれません.

于 2011-07-09T21:21:42.443 に答える