5

Azure Storage を使用する ASP.NET MVC プロジェクトがあり、Azure に正常にデプロイされています。ただし、プロジェクトをローカルで実行すると、Azure エミュレーターは起動しません。

Azure エミュレーターを起動する唯一の方法は、'Windows Azure Cloud Service' ショートカットを作成して手動で実行することです。

アプリの起動時に Azure エミュレーターが確実に実行されるようにする方法はありますか?

4

2 に答える 2

3

MVC サイトと同じプロジェクトにクラウド サービスがあります。既に MVC プロジェクトを作成しているので、これを試してみてください...

  1. 新しい Cloud プロジェクトをソリューションに追加します。追加するときは、ロールを選択しないでください。
  2. クラウド プロジェクトが追加されたら、[ロール] を右クリックして [...] を選択します。
    • 「Web Role Project in solution...」を追加すると、MVC プロジェクトを選択できるようになります。
  3. 最後になりましたが、クラウド プロジェクトをスタートアップ プロジェクトとして設定すると、ローカルでの実行時に適切なコンピューティング エミュレーターとストレージ エミュレーターが開始されます。

VS2012でこれを確認したところ、それを行ってから数か月が経ちました。

于 2013-02-05T19:00:54.827 に答える
0

ソリューション内にクラウド サービス プロジェクトがないと、扱いにくい場合があります。あなたができることがいくつかあります:

  1. コンピューターの起動時にストレージ エミュレーターを起動します。
  2. クラウド サービスでプロジェクトを開始するときに、VS がどのようにそれを行うかを見てください。
  3. アプリケーションのデバッグを開始するときに、コードでストレージ エミュレーターを開始します。あなたができることは、次のようなコードを使用して Application_Start() メソッドでストレージ エミュレーター プロセスを開始することです [これは明らかにハックであり、洗練されたものかどうかはわかりません :)]:

            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
    #if (DEBUG)
                {
                    Process.Start(@"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devstore\DSServiceLDB.exe");
    
                }
    #endif
            }
    

私の推測では、これを使用すると、VS を管理者として実行する必要があります。上記のコードを試してみましたが、うまくいきました。上記のコードは、ストレージ エミュレーターがストレージに LocalDB を使用することを前提としています。

于 2013-02-06T04:55:49.657 に答える