1

我已经让我的工人角色......工作。现在我还有一个小问题。

我的辅助角色通过实体框架访问 SQL Azure。我试图从我的数据库中创建一个填充的电子邮件对象列表,然后发送这些电子邮件。该代码在本地运行良好,但在云中部署时会引发异常。

To Clarfiy:worker 角色处于“就绪”状态,当它到达有问题的代码段时,它会导致异常并进入 catch 块并继续执行代码。

只有当我尝试创建我的电子邮件对象时:

例如。

实体实体=新实体();//实体是我的数据库模型的名称

列出 emailList = entity.Email.where(x => x.sent == 0).toList(); //创建我的实体列表

我一直在查看 Azure 部署中的 Intellitrace 日志(在 vs2010 中),我注意到当我的工作人员角色出现“System.Reflection.ReflectionTypeLoadException:无法加载一个或多个请求的类型”时尝试使用上述代码填充列表。查看调用堆栈,它指向电子邮件模型。

当使用相同的代码部署时,我的 webrole 工作得很好。此外,我在我的工作角色中包含了对我的 web 角色的引用,并且它的复制本地属性设置为 true。

有任何想法吗!?

4

1 回答 1

1

Azure 的常见问题之一是部署不会复制某些 dll,除非它们在工作角色和/或 Web 角色中标记为“CopyLocal”。Azure OS 的 GAC 中缺少的所有 Dll 都应该存在。

有更多细节的文章

我自己也被它咬过几次。

于 2010-07-14T13:50:46.183 回答