1

Windows Azureにデプロイされたクラウドサービス(この場合はWCF)のweb.configを変更しようとしていますが、実行時にweb.configのappSettingsを変更しようとすると、アクセス許可が拒否されたというエラーが発生します。

Access to the path 'E:\sitesroot\0\web.config' is denied.

これを修正する方法はありますか?

4

3 に答える 3

5

ジョニー Sは正しいです。実行時に変更する設定をロール構成に保存する必要があります。web.configAzure が VM を移動すると変更が失われ、複数インスタンスのシナリオではインスタンスが同期しなくなります。イベントを使用roleenvironmentchangingして、ロール インスタンスが構成の変更にどのように応答するかを管理できます。

roleenvironmentchangingイベント チェックの詳細については、http://msdn.microsoft.com/en-us/library/windowsazure/gg432963.aspxを参照してください。

于 2013-03-15T17:21:31.623 に答える
2

実行時に変更する必要があるすべての設定をロールの ServiceConfiguration (cscfg) に保存し、コードで次を使用して設定を取得する必要があります。

string setting = RoleEnvironment.GetConfigurationSettingValue("myConfigSetting");

デプロイしたら、管理ポータルから ServiceConfiguration の値を変更できます。

于 2013-03-15T16:54:33.430 に答える
-3

Web ロールに RDP を使用すると、ログインしているユーザーの web.config ファイルにアクセス許可を追加できるはずです。その後、web.config を変更できます。@Adilが言及しているように、これによりAppDomainがリサイクルされるため、実際には最後の手段としてのみ実行する必要があります.

于 2013-03-15T16:53:52.270 に答える