所以我有一个在C#后端和前端的Silverlight上的WCF服务上运行的项目。它使用Linq进行SQL建模以形成模型。现在,我必须向现有表中添加一个新属性。最初,我是通过在数据库中创建新列,然后删除dbml布局中的现有表并再次添加它来完成的,以便可以检索所有新列。每当我在添加新列后运行我的应用程序时,它总是给我一个错误,提示远程服务器返回错误:NotFound。
因此,我做了一些研究,找到了有关WCF跟踪以找出错误的信息。原来,跟踪给了我这个错误:尝试序列化参数:LoadResult时出错。 InnerException消息是“类型为 type 的对象图包含循环,并且如果禁用了引用跟踪,则无法序列化”。有关更多详细信息,请参见InnerException。
因此,我进行了更多研究,结果发现我必须在DataContract中加入 isReference = true 。我做的完全一样,但是我仍然不知道为什么我得到这个错误。
[DataContract(IsReference=true)]
public class LoadData
{
[DataMember]
public ServiceException Error;
现在已经调试了超过2天!救命!