1

私は自分のワーカー ロールを ...work にしました。今、私はもう1つの小さな問題を抱えています。

私の worker ロールは、Entity Framework を介して SQL Azure にアクセスします。データベースから入力された電子メール オブジェクトのリストを作成し、それらの電子メールを送信しようとしています。コードはローカルでは問題なく動作しますが、クラウドにデプロイすると例外がスローされます。

明確にするために: ワーカー ロールは「準備完了」状態にあり、問題のあるコード部分に到達すると、例外が発生し、catch ブロックに分割され、コードの実行が続行されます。

メールオブジェクトを作成しようとしたときだけです:

例えば。

エンティティ エンティティ = 新しいエンティティ(); //DB モデルの名前であるエンティティ

リスト emailList = entities.Email.where(x => x.sent == 0).toList(); //エンティティのリストを作成する

Azure デプロイ (vs2010) からの intellitrace ログを調べていて、"System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types" を受け取っていることに気付きました。上記のコードでリストを生成しようとします。コール スタックを見ると、メール モデルを指しています。

同じコードで展開すると、Web ロールが完全に機能します。さらに、ワーカー ロールに Web ロールへの参照を含め、コピー ローカル プロパティ IS を true に設定します。

何か案は!?

4

1 に答える 1

1

Azure の一般的な問題の 1 つは、ワーカー ロールや Web ロール内で "CopyLocal" とマークされていない限り、デプロイで一部の dll がコピーされないことです。Azure OS の GAC に存在しないすべての Dll が存在する必要があります。

詳細な記事

私自身、それで数回噛まれました。

于 2010-07-14T13:50:46.183 に答える