私は自分のワーカー ロールを ...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 に設定します。
何か案は!?