13

Azure構成ファイルを利用できるように、CloudConfigurationManagerを使用したいと考えています。Cloud.cscfgに文字列を追加してEntityFrameworkコンテキストを構成する接続文字列を使用したい。

私はこのようにコンテキストを構成していました

public DomainContext()
    : base("ContextConnectionString")

これは、Web.configからContextConnectionStringを取得していました

コンテキストコンストラクターをこれに変更しました

public DomainContext()
    : base(CloudConfigurationManager.GetSetting("ContextConnectionString"))

そして今では動作します。

コンテキストコンストラクターにAzurecscfgを最初に使用するように指示するより洗練された方法はありますか?

4

2 に答える 2

10

現時点では、これほど洗練されたソリューションはありません。実際、これは1か月前に作成しなければならなかったものよりもかなりエレガントです。これCloudConfigurationManagerは、1.7 SDKの新機能であり、以前はこの種のことを行うための組み込みのサポートがなかったために作成されたクラスです。今やっていることをやりたいのなら、あなたはCloudConfigurationMangagerあなた自身のクラスを作らなければなりませんでした、それはかなり一般的でした。

于 2012-06-26T21:08:44.030 に答える
2

コードのサンプルを投稿できますか?

CloudConfigurationManagerは、最初にコードがWindows Azureロールで実行されているかどうかを確認し、実行されている場合は、ServiceConfiguration.cscfgファイル(ロールとともに展開されている)から構成値を取得しようとします。ロールで実行されていない場合、CloudConfigurationManagerはアプリケーションの.config(web.configまたはapp.config)ファイルに戻る必要があります。どちらの場合も、値が見つからない場合はNULLが返されると思います。

.cscfgファイルから接続文字列を取得すると(コードがWindows Azure Webロールで実行されていると想定)、接続文字列を設定するEFコンストラクターのオーバーロードに値を渡すことができます。

于 2012-06-26T03:18:25.760 に答える