LINQ to SQLを使用して複数のデータベースでセットアップされたASP.NETサイトがあります(他の/「セカンダリ」サーバー上のテーブルのソースを変更することにより)。ここに見られるように。
このためにフェイルオーバーパートナーを設定するにはどうすればよいですか?接続文字列で設定しましたが、ソースをサーバー名でハードコーディングする必要があったため、機能しません。
LINQ to SQLを使用して複数のデータベースでセットアップされたASP.NETサイトがあります(他の/「セカンダリ」サーバー上のテーブルのソースを変更することにより)。ここに見られるように。
このためにフェイルオーバーパートナーを設定するにはどうすればよいですか?接続文字列で設定しましたが、ソースをサーバー名でハードコーディングする必要があったため、機能しません。
私が見つけた/思いついた最良の方法は、2つのLINQ外部マッピングを作成することでした。起動時に、メインサーバーがメインマッピングを使用して実行されているかどうかを確認します。そうでない場合は、フェールオーバーデータベースを持つ2番目のLINQマッピングを使用するように接続を設定します。
var xmlPath = @"C:\myAppFailOver.map";
System.Data.Linq.Mapping.XmlMappingSource linqMapping = System.Data.Linq.Mapping.XmlMappingSource.FromReader(System.Xml.XmlReader.Create(xmlPath));
using (DataClassesDataContext db = new DataClassesDataContext(connString, linqMapping))
{
//code
}