次の2つのオプションのうち...
Silverlight アプリは Azure Tables と直接通信します
Silverlight アプリは WCF を使用して Web ロールと通信し、その Web ロールは Azure テーブルにアクセスします
どれが可能ですか?推奨されるアプローチはどれですか?
次の2つのオプションのうち...
Silverlight アプリは Azure Tables と直接通信します
Silverlight アプリは WCF を使用して Web ロールと通信し、その Web ロールは Azure テーブルにアクセスします
どれが可能ですか?推奨されるアプローチはどれですか?
両方のアプローチが可能です。アプローチ #1 (Silverlight 直接アクセス) の場合: Azure テーブル ストレージは REST API 呼び出しを介してアクセスされます。これは、クロスドメインの問題を心配することなく、権限を昇格させたブラウザー外の Silverlight アプリからアクセスできます。ただし、Silverlight アプリに証明書を埋め込むことになるため、これにはリスクがあります (そのため、Shared Access Signature を使用する必要があります)。
このトピックに関するこの MSDN の投稿も参照してください。
したがって、ヘンリックが言ったように、良い習慣はサービス層を通過することです. アプローチ #2 を絶対にお勧めし、ローカル キーに関連するすべてのリスクを回避します。しかし... Silverlight からの直接呼び出しを使用できることを明確にしたかっただけです。
唯一可能なアプローチは #2 です。Silverlight はどのデータベースにも直接接続できません。私があなたなら、RIA サービスも検討しますが、RIA サービスと Azure テーブルがどの程度うまく連携するかは正確にはわかりません。Azure テーブル内のものをエンティティにマップし、RIA サービスを介して送信する必要があります。どちらのソリューション (RIA サービスまたは単純な WCF) もベスト プラクティスと見なすことができると思います。