我无法识别此问题的任何特定代码,但我将描述设置和问题,看看我是否能得到任何答案。
这在大多数情况下都非常有效。我可以登录,工作正常。另一个用户(设置为不同的访问模板)登录并且第一次访问权限检查失败,因为它报告已放置对象上下文。我将访问模板更改为与我相同,一切正常。我将访问模板更改为打破其他用户的访问模板,并且工作正常。堆栈跟踪不识别任何其他内容。配置文件记录(也是相关记录)已完全填充,配置文件记录上还有其他关联可以正常工作。
概要;
我没有变化,工作正常。 其他用户无需更改,崩溃。 我与其他用户具有相同的设置,工作正常。 我的设置的其他用户工作正常。
我不知道该看什么,我无法识别任何特定的失败代码,因此我认为该方法不好。如果我在以破坏的用户身份登录时进行调试,它就不会再中断了。
是否有人可以提供任何建议,建议或信息?我不知道知道我使用的是MVC3是否有帮助,但为了以防万一,我在那里做了标记。
更新:感谢您的输入。我有一个解决方案,但我无法解释。
表A包含与表B的关联 表C包含与表B的关联(表B与C或A无关)
通过更改C中的记录,我可以解决问题,一致性是我可以更改记录以匹配损坏的用户并且我的用户会中断。如果我更改了记录,它将再次对我有效。我的登录过程提到表C,但没有设置任何数据或更改从表A加载配置文件的行为。
如果我防止B的延迟负荷; TableA.Include(TableB)无论表C中的内容如何,问题都会消失。
为什么延迟加载在某些情况下会起作用而在其他情况下却不起作用?表C中包含的记录在失败和成功案例中都是有效的,并且基于对C的任何查询都没有直接更改A.
我知道,对某人真正得到答案的唯一方法是查看我无法分享的代码,但如果有人有任何想法或之前已经看过这种行为,我将不胜感激。