0

最近作業を開始しWindows Azureた Web ロール プロジェクトでは、Azure で WebRole を起動するときに、レガシー コード依存ファイルの構成エントリの 1 つを更新する必要があります。RoleEntryPoint.OnStart()イベントでウェブサイト上のファイルにアクセスし、ウェブサイトの開始前に問題のファイルを更新したいと考えています。

WebRoleファイルは、プロジェクト内のフォルダーの 1 つに存在します。私のサービス定義ファイルにはデフォルトのエントリがあります:

<Sites>
  <Site name="Web">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" />
    </Bindings>
  </Site>
</Sites>

そのため、プロジェクト コードは AppRoot (コンテンツはこちら) と配置マシンの sitesroot の両方に存在します...

環境変数 -フォルダーの場所を指定しRoleRoot, RdRoleRootているようです...そのため、実行中のアプリケーションが正しいファイルにアクセスするためAppDomain.CurrentDomain.BaseDirectory、ファイルを更新するために使用するファイルと場所 (approotまたは) がわかりません。sitesroot

それを行う方法とどのファイルを更新するかについての指針は本当に高く評価されます。

4

2 に答える 2

0

最近、同様のニーズがありました。web.config OnStart

http://blog.elastacloud.com/2011/05/13/azure-howto-programmatically-modify-web-config-on-webrole-startup/

を変更する方法については、このブログ記事をご覧ください。 私にとって、これはいくつかの環境変数を探すよりも少しきれいです。もう 1 つ覚えておくべきことは、ファイルを変更するには、昇格されたコンテキストでロールを実行する必要があることです。

<Runtime executionContext="elevated"/>

CSDEFで、WebRole XML タグのすぐ下に追加します。

于 2013-09-27T13:32:53.687 に答える