0

新しいモバイル アプリケーションを開始しています。使用する Web サービスとサーバー データベースをセットアップしたいと考えています。

経験があるので、.net WCF Web サービスと SQL データベースを使用することにしました。エンティティ フレームワーク 5 も使用します。

プロジェクトには大きなデータベースがあり、一部のテーブルには数百万行が含まれる場合があります。

私の質問は、使用すべき最適なテクノロジまたはパターンは何ですか? 私はいくつかの調査を行いましたが、何が最善であるかについて明確な答えを見つけることができませんでした.

作業単位でリポジトリ パターンを使用する必要がありますか? コードファーストまたはデータベースファースト?

利用可能なすべてのものについて確信があるわけではありませんが、開始するには簡単な答えで十分です。残りの調査を行います (例: this と this と this を使用)

4

2 に答える 2

0

WCF は、JSON を使用した REST サービスをサポートしていました。これは、モバイル アプリ用の Web サービスを構築するための最適なアプローチです。

ただし、Microsoft は WCF REST を WCF の残りの部分から分離することを決定したため、現在は Web API と呼ばれています。

あなたへの私の提案は、Web API を学び、それを使いこなすことです。「サービス参照の追加」のサポートが失われますが、Microsoft テクノロジに基づいていないモバイル アプリを構築している場合は、とにかくあまり効果がありません。

リポジトリ パターンについて => Entity Framework の DbContext は Unit of Work そのものです (マウスをその上に置いて、その内容を読んでください)。Code First と Database First のどちらを使用するかは、実際の最適化よりも好みの問題です。どちらもうまくいくはずです。

何百万もの行があるため、キャッシュ戦略を検討することを強くお勧めします。行がそれほど頻繁に変更されない場合は、標準のキャッシュ アプローチを使用できます。それ以外の場合、行が頻繁に変更される場合は、データベースと同時に更新されるが、データをメモリに保存することでクエリを実行すると、はるかに高速に結果を提供するプロキシ キャッシュ サービスを使用できます。名前付きパイプを介して Web API と通信する独自​​の WCF ベースのキャッシュを使用するか、MemCached や Redis などの既に構築されたソリューションを使用できます。

于 2013-09-07T19:16:51.570 に答える
0

リポジトリ パターンと UOW パターンを必ず使用し、EF を使用したコード ファーストのアプローチから始める必要があります。これとドメイン駆動設計に関する本はたくさんあります。また、大規模なデータベースになると、パフォーマンスの問題が発生する可能性があるため、エンティティ フレームワークだけに依存するのではなく、カスタマイズを使用することになります。それがネイティブのモバイル アプリケーションではなく、Web アプリケーションである場合は、REST が最適です。Mobile Rest サービスも確認してください。また、ビジネスによっては、クラウド対応のアプリケーションを検討してください (Windows Azure を検討してください)。

于 2013-09-07T20:07:22.343 に答える