VS2010に次の形式のVB.NETソリューション ファイルがあります。
Code.Business (Business layer) .vb classes.
Code.Data (Data layer) LINQ to SQL .dbml files.
Code.Web (UI layer) - ASPX pages.
datacontext
データレイヤーに があり、変更されるデフォルトのコンストラクターがあります
Public Sub New()
MyBase.New(ConfigurationManager.ConnectionStrings("MyConStr").ConnectionString, mappingSource)
OnCreated()
End Sub
これdatacontext
は、ビジネス層の vb クラスを介してすべての Web ページから使用されます。
正しいデータベース(Dev/Test/Prod)に切り替えようとしています。上記のコンストラクターを使用し、("MyConStr")に正しい値を渡して、正しいデータベースを指すようにしたいと考えました。
ファイルに 3 つの値(Dev/Test/Prod)がすべて含まれていweb.config
ます。
で、アプリケーション変数Global.asax - Application_Start event
から値を読み取っています。web.config
Dim strDBCon As String = ConfigurationManager.AppSettings(strServer & "_connstr")
Application("ConString") = strDBCon
Application( "Constring"
)を試してみましたが、値が保持されていないようで、デフォルトのコンストラクターで値を切り替えることができませんdatacontext
。
このシナリオのより良い解決策はありますか?