2017-08-09 4 views
-2

APIの操作は初めてですが、わかっているところではDataRepositoryとIDataRepositoryという2つのクラスのサービスフォルダを作成しました。 DataRepositoryクラスはDataContextクラスと対話します。しかし、私の接続文字列は、DataContextクラスではなく、スタートアップクラスです。私が動的に接続文字列を変更できるようにする理由は、私は同じデータベースの多くのインスタンスを持っているためです。それぞれ異なるデータを表します。今、問題はどのように私はwebapi呼び出しごとに動的に接続文字列を設定できますか?私は各呼び出しで接続文字列パラメータを取得する予定です。APIを使用して動的に接続文字列を変更する方法

+0

APIコールから接続文字列を取得することは悪いことです。代わりに、依存関係注入を使用して、各コントローラが必要とする接続文字列でデータコンテキストを解決することができます。 –

答えて

0

あなたは認証トークンを使用していますか?その場合は、接続文字列をクレームの一部として入れることができます。私はパラメータに全体の接続文字列を入れないことをお勧めします。より簡単なアプローチが必要な場合は、行くべきdbのタイプがあるかどうかを示す文字列パラメータを持つことができます。 ex。

public async Task<IHttpActionResult> youApi(string type){ 
    //then you can have a switch statement to know what database it will go to 
    string connectionString= "";  
    switch(type) 
    case "database1": 
     connectionString = "datasrc=database1"; 
    //and so on 
} 

これが最善のアプローチであるかどうかはわかりません。私はこれが役立つことを願っています

関連する問題