C# 无法序列化ASP.NET中的元组错误,在它之后';他工作了一段时间

C# 无法序列化ASP.NET中的元组错误,在它之后';他工作了一段时间,c#,asp.net,xmlserializer,C#,Asp.net,Xmlserializer,我有一个以.NET4.0为目标的ASP.NET应用程序,它使用一个针对AJAX的ASMX服务类。该类的一个方法返回一个元组[],以填充其中一个控件。从一开始(几周)到今天为止,这一直没有问题,但在该服务类中完全不相关的方法中更改了一行代码后,应用程序现在显示黄色屏幕,错误为System.Tuple`3[System.String,System.String,System.Int32]无法序列化,因为它没有无参数构造函数。 文档中没有显示无参数构造函数,我从其他答案中理解了为什么需要无参数构造函数

我有一个以.NET4.0为目标的ASP.NET应用程序,它使用一个针对AJAX的ASMX服务类。该类的一个方法返回一个
元组[]
,以填充其中一个控件。从一开始(几周)到今天为止,这一直没有问题,但在该服务类中完全不相关的方法中更改了一行代码后,应用程序现在显示黄色屏幕,错误为
System.Tuple`3[System.String,System.String,System.Int32]无法序列化,因为它没有无参数构造函数。


文档中没有显示无参数构造函数,我从其他答案中理解了为什么需要无参数构造函数。问题是,这些事情都是真的,这是怎么回事?而且,更实际地说,我如何让它重新工作,希望不重新实现Tuple?

Tuple确实具有序列化程序所需的无参数构造函数。您可以包装元组并创建默认构造函数

请找到以下答案:

如果是序列化,则不必担心构造函数,因为它是只读的-它不尝试创建对象,只需将内容读入xml字符串。您是否更新了库引用?我们无法从您提供的信息中回答。您必须提供复制问题的简短代码段。(如果在此过程中不实际解决您自己的问题,这可能很难做到。如果发生这种情况,您可以回答您自己的问题。)是否执行
pskill w3wp.exe
,然后执行
iisreset
并重建解决方案帮助?这是在我的开发机器上的IIS Express上执行的,因此我只是停止了站点,然后清理/重建,这就解决了问题。在学术上,除了“关闭并再次打开”之外,了解什么是错误以及如何修复它仍然是很有趣的。正如问题中所述,我知道需要一个无参数构造函数。问题是为什么这段代码仍然有效(直到今天早上)。