1

昨日、Windows Azure のホステッド サービス インスタンスにサービスを問題なくデプロイできました。今日、私は常に次のようなエラーが発生しています

6:09:56 PM - Preparing...
6:09:56 PM - Connecting...
6:09:59 PM - Uploading...
6:11:15 PM - Creating...
6:12:28 PM - Starting...
6:13:20 PM - Initializing...
6:13:21 PM - Instance 0 of role TestWebRole is initializing
6:18:39 PM - Instance 0 of role TestWebRole is busy
6:21:51 PM - Instance 0 of role TestWebRole is stopped
6:21:51 PM - Warning: All role instances have stopped
6:22:23 PM - Instance 0 of role TestWebRole is busy
6:23:26 PM - Instance 0 of role TestWebRole is stopped
6:23:26 PM - Warning: All role instances have stopped

これらのエラーは通常、クラウド サーバーに存在しない依存関係が原因で発生します (上記の警告を検索すると、SO と Google で見つかります)。しかし、私はすべての依存関係をチェックしましたCopy Local=True

問題をさらに切り分けるために、最初に新しい MVC 3 Web ロールを使用して新しい Azure プロジェクトを作成し、次に標準の ASP.NET Web ロールを使用して新しい Azure プロジェクトを作成しましたが、まだうまくいきません。診断を無効にして、再度有効にしようとしました。Azure エミュレーターでは、プロジェクトは正常に実行されます。

標準の Visual Studio でも Azure にデプロイできません。常にWarning: All role instances have stopped.

ちょっとイライラします。私は最新の Azure SDK 1.7 と Azure ツール 1.3 を使用しています。

ヒントをありがとう。

4

2 に答える 2

2

プロジェクトがエミュレーターで正常に実行される場合、ほとんどの場合、必要な依存関係がすべてコンピューターにインストールされているが、Windows Azure にはインストールされていないことが原因です。

セッション状態を無効にする方法を説明するだけでなく、MVC3 を正しく動作させるために Copy Local に設定する必要があるアセンブリについても説明しています。または、Steve がブログ投稿で説明している手法の 1 つを試すこともできます: http://blog.smarx.com/posts/asp-net-mvc-in-windows-azure

この問題を解決するには、リモート デスクトップを有効にすると非常に役立ちます。インスタンスが循環していることに気付いた場合は、RDP を介して接続し、イベント ビューアーを確認することをお勧めします (接続できるようになるまでに数回試行する必要がある場合があります)。アプリケーション ログの ASP.NET 警告に注意してください。ほとんどの場合、欠落しているアセンブリに関する詳細情報が得られます。

于 2012-06-25T05:54:04.087 に答える
1

昨日はうまくいったのに、今日はうまくいかないことに驚きました。つまり、まったく新しい asp.net プロジェクトを作成すると、既定のセッション状態プロバイダーはローカルの SQL データベースにマップされますが、これは Windows Azure には存在しません。web.config を編集して、Windows Azure SQL データベースまたはキャッシュ (共有キャッシュ サービスまたは SDK 1.7 で利用可能な新しい役割内キャッシュ) を指すようにする必要があります。

Nate Totten は、昨年のこのブログ投稿でセッションの問題について説明しました。

于 2012-06-24T22:40:50.750 に答える