WCF RIA失败直到“清洁解决方案”,然后它工作

时间:2011-11-10 19:47:33

标签: silverlight-4.0 wcf-ria-services

刚刚开始在SL / WCF RIA Services项目上发生的奇怪问题,我在过去一年中一直在努力。最近我每次修复错误并重新运行应用程序时都会收到此消息。

查询“GetDepartments”的加载操作失败。执行命令定义时发生错误。有关详细信息,请参阅内部异常InnerException消息:由于调试器请求而终止批处理执行。

如果我“清理”解决方案,然后启动应用程序,那么一切都会再次运行。

我试图发现确切的错误,但它发生在Load操作的回调期间,我不知道发生了什么。

我打开了SQL Profiler,查询看起来一样,我觉得我在服务器上没有问题。

任何提示都将不胜感激。建造它需要很长时间!

[R

3 个答案:

答案 0 :(得分:1)

尝试禁用SQL调试,只是为了它:

项目属性>调试> [取消选中]启用SQL Server调试

答案 1 :(得分:1)

prevoius答案应该有所帮助。这与加载操作相关联,因为此方法查询底层数据库(可能通过ORM但无关紧要,重要的是打开SqlConnection的位置)。 如果您需要sql server调试,请查看MS的link,解释如何设置它(您需要管理员权限)
就“清洁解决方案”而言,我认为它与pdb与执行的程序集不匹配有关(在附加VS debuger的过程中运行的程序集)这将禁用该程序集的调试,因此,你不会招致异常。

希望这有帮助,
马可

答案 2 :(得分:1)

清洁解决方案有助于实现以下两个方面之一:

  1. 您重新启动了解决方案并重置了某些内容(连接池,线程,类加载器缓存等)。尝试重新启动解决方案而不进行清洁,以确定是否是这种情况
  2. 您的构建过程以某种方式为多个位置的相同代码生成DLL,当您执行基本构建时,只会更新其中一个。这可能会导致接口不匹配,序列化版本不匹配或其他类似问题。尝试在整个解决方案中搜索DLL名称,并查看它显示的位置数。然后执行基本构建并查看其中有多少更改了时间戳。同样,尝试使用FileMon来查看DLL实际加载的位置。