1

シナリオ A:同じ SQL Server/SQL Azure インスタンス上に、まったく同じ構造を共有する複数のデータベースがあり、データベース名が db001、db002 などの規則に基づいているとします。要求ヘッダーまたは URI パスまたはクエリ文字列で提供されるいくつかの特性に応じて、各 REST 呼び出しの正しいデータベース。

シナリオ B:単一の RESTier サービスは、要求で提供されるいくつかの特性に応じて、web.config ファイルで定義された複数の接続文字列に対応できる必要があります。

どちらのシナリオでも、基本的な問題は同じです。1 つの RESTier サービスで複数のデータベースの要求に対応できるため、クライアントは要求ごとに、使用するデータベースへのヒントを送信する必要があります (典型的なマルチテナント シナリオ)。RESTier バージョン 0.6 を使用しており、エンティティ セットは Entity Framework モデルから自動的に公開されます。

public class Entities : EntityFrameworkApi<SalesEntities> { 

質問です。この種のマルチテナント シナリオを実装するには、どのようにアドバイスしますか?

4

2 に答える 2

0

あなたのシナリオでは、2 つの DbContext があり、それぞれが 1 つの DB インスタンスに接続すると思いますが、このようなものがうまくいくでしょうか?

configure メソッドでは、MapRestierRoute を 2 回呼び出し、それぞれが異なるルート プレフィックスを持つ 1 つの DbContext を処理します。ユーザーがリクエストを開始すると、リクエスト URL にプレフィックスが含まれ、関連する DB インスタンスに自動ルーティングされます。

config.MapRestierRoute>( "TrippinApi", "api/TrippinA", 新しい RestierBatchHandler(サーバー)); config.MapRestierRoute>( "TrippinApi", "api/TrippinB", 新しい RestierBatchHandler(サーバー));

何か問題があれば教えてください。

于 2016-09-29T03:34:20.693 に答える