0

私は、1 つのWeb アプリケーションと 1 つのWindows azure projectという 2 つのプロジェクトを持つ 1 つのソリューションを持っています。
2 つをリンクするには、[ロール] > [追加] > [ソリューションの Web ロール プロジェクト] で右クリックします。

これまでのところ、すべてがうまく機能しています。[ブラウザーで表示] をクリックする と、複数のインスタンスでコンピューティング エミュレーターを使用してアプリケーションをテストし、ローカルでもテストできます。

ローカルとクラウドの両方で同じコードを実行し続けることを目指しているため、紺碧のコードのみが if(RoleEnvironment.IsAvailable) { } else { }

PROBLEM: The Web.config file is common to the web application and the azure project and some configuration such as TableStorageSessionStateProvider はローカルでは機能しないため、私の質問は...

<sessionState mode="Custom" customProvider="TableStorageSessionStateProvider">
    <providers>
        <clear/>
            <add name="TableStorageSessionStateProvider" type="Microsoft.Samples.ServiceHosting.AspProviders.TableStorageSessionStateProvider"/>
    </providers>
</sessionState>

質問: web.config ファイルを 2 つ持つことはできますか? Web サイトをローカルで閲覧するときに呼び出されるものと、コンピューティング エミュレーターでアプリケーションをテストするとき、またはソリューションを Microsoft Cloud に展開するときに使用されるものはありますか?

4

2 に答える 2

2

同様の質問に対するこの回答を試してくださいWeb.config 変換を使用できる場合があります。

アイデアは、ローカルでテストを行ってから、クラウド展開用にWeb.config別の構成を行うことです。Web.cloud.config

于 2012-06-09T14:41:22.763 に答える
-1

いいえ、複数の web.config を持つことはできません。変換は Azure パッケージング プロセスの一部ではないため、Peter が言及したような変換は機能しません。

可能であれば、コードと RoleEnvironment.IsAvailable を使用して可能な限りセットアップを試みます。それに加えて、構成をマシンに依存させないようにする必要があります。

本当に回避策がなく、どうしても別の構成ファイルが必要な場合は、リリース モードでコンパイルするときに、追加のビルド後のタスクを設定して、web.config ファイルを別のファイルに置き換えることができます。

于 2012-06-09T16:02:25.420 に答える