MS SQLデータベースを使用するAppHarborにWebサイトを配置しました。 AppHarborは、私がsettings.txt
に入力した接続文字列を私に提供しています。それはうまく動作するようですが、AppHarborはSQLSERVER_CONNECTION_STRING
変数を代わりに使用することを提案します。オーチャードCMSの接続文字列(settings.txtから)をオーバーライド
これは、接続文字列が予告なしに変更される可能性があるためです。唯一安全な方法は、前述の変数を使用することです。値は、予告なしアドオンプロバイダ によって更新することができるように以下の構成変数へのアクセス
は、プログラム的 を行わなければなりません。
代わりSQLSERVER_CONNECTION_STRING
変数を使用するようにアプリケーションをsettings.txt
からDataConnectionString
設定を上書きして設定する方法はありますか?私はAppHarborがどうにかこれらの変数をappSettingsとして設定すると仮定します。
P.S.これはオーチャードの私の最初のアプリケーションです、私はこのCMSに堪能ではありません。
正直に言うと、私はソースコードをいじっ含まれていませんでした解決策を期待していたが、私は最終的にあなたの提案を続い 'shellSettings.DataConnectionString = ConfigurationManager.AppSettings [「SQLSERVER_CONNECTION_STRING」]?値; ' – lalibi
ya、申し訳ありませんが、私は非コードオプションはないと思います。 –
これはちょっと古いと思いますが、オーチャードのフレームワークのソースは変更されていますが、バージョン1.6ではコアオーチャードのソースを変更せずにこれを実現できるようです。 IShellSettingsManagerのカスタム実装を作成するかもしれません。 ShellSettingsManagerのIoCはAutofacを使用して登録されているため、新しいContainerBuilderを作成し、RegisterTypeまたはRegisterInstanceを呼び出し、最後にOrchardStarter.CreateHostContainter()が元々返したコアコンテナのUpdateパッシングを呼び出すことができます。私は今、同様のアプローチで、良い注入点を探しています。 – defines