Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 确定在';s通过了一个Web服务_Asp.net_Web Services_Serialization - Fatal编程技术网

Asp.net 确定在';s通过了一个Web服务

Asp.net 确定在';s通过了一个Web服务,asp.net,web-services,serialization,Asp.net,Web Services,Serialization,我使用NHibernate来管理我的实体,为了启用延迟加载,我需要使我的属性返回IList。问题是.NET抛出了一个异常,因为当我试图传递实体时,它无法序列化接口。这很有道理 我需要知道的是如何控制哪些字段要序列化,哪些字段不要序列化?到目前为止,我最好的办法是通过在序列化对象之前将IList的内容复制到列表中来解决这个问题,但要做到这一点,我需要告诉.NET我不希望IList属性序列化:)MSDN上有一个区域,但您需要的是。因此,基本上,您可以使用属性[NonSerialized]标记任何不希

我使用NHibernate来管理我的实体,为了启用延迟加载,我需要使我的属性返回IList。问题是.NET抛出了一个异常,因为当我试图传递实体时,它无法序列化接口。这很有道理


我需要知道的是如何控制哪些字段要序列化,哪些字段不要序列化?到目前为止,我最好的办法是通过在序列化对象之前将IList的内容复制到列表中来解决这个问题,但要做到这一点,我需要告诉.NET我不希望IList属性序列化:)

MSDN上有一个区域,但您需要的是。因此,基本上,您可以使用属性[NonSerialized]标记任何不希望序列化的属性。第二个链接中有一个例子。

只是想让你们知道,我发现答案是
[System.Xml.Serialization.XmlIgnore]属性:)

为了清楚起见:不序列化IList是XmlSerializer中的一个错误。如果可以,则切换到WCF或将serializator替换为DataContractSerializer。不能切换到WCF,因为它是学校作业的一部分,其中要求说明我们需要使用“普通web服务”:)WCF是普通web服务!WCF是旧的ASMX web服务的替代品。如果老师不喜欢,让我和我谈谈!呵呵,别担心。。他希望我们以后用WCF替换ASMX部件:p非常感谢。。您在这些资源方面帮了我很多,但是正确的属性是System.Xml.Serialization.XmlIgnore,我将在新的答案中发布它以供进一步参考。欢迎使用。我应该问问你是在做二进制还是XML序列化。我已经很久没有在.NET中进行序列化了。这里我可能错了,但既然我使用的是Web服务,它不是应该是soap吗?这反过来意味着它需要XML序列化PYes,您需要XML序列化。这不是你问题的答案。