1

複数のサイトをホストする WebRole があります。サイト固有のアクションをいくつか使用して、各サイトのスタートアップ タスクを作成しました。問題は、展開中に最初のサイト (セクションにリストされている最初のサイト) のスタートアップ タスクのみを実行できることです。

これは、最初のサイト (または Web ロール定義のサイト) のみが WebRole インスタンスの [ドライブ]:\approot フォルダーにコピーされるために発生するようです。他のすべてのサイトは [ドライブ]:\sites\ にコピーされます (以前は別の場所だったため、将来の変更の対象になる可能性があります)。

[ドライブ]:\sites\ 内の各サイトに対してバッチ ファイルを実行する簡単な方法はありますか?

RoleEnvironment オブジェクトまたは xPath 値 (ここではhttp://msdn.microsoft.com/en-us/library/windowsazure/hh404006.aspxなど) を使用して、追加のサイトが配置される正確なパスを提供できるトリックはありますか?

ATM には 2 つのオプションがあります。どちらもハッキーで不安定です。imo: 1.IIS 構成からデータを読み取り、それをメインのスタートアップ タスク入力として使用します。

4

1 に答える 1

1

スタートアップタスクは、サイトではなく、ロールを対象としています。RoleEntryPointの子孫を使用して解決策を見つけ、そのOnStartメソッドを使用して、サイトごとにスタートアップタスクを手動で実行する必要があります。

サイトディレクトリを見つけることに関しては、答えが完全にタスクをカバーしているので、この質問をチェックしてください。私はそれを使用します、それは生産のために100%信頼できます。

于 2012-02-08T12:31:38.813 に答える