这篇文章很好,收藏了:http://ryandev.com/rsinvaliddatasourcereference-on-a-microsoft-srs-report/
分类: IT
一个去除WCF中重复多余的xmlns的扩展方法
http://stackoverflow.com/questions/11221511/predefine-xml-namespaces-for-datacontractserializer
这个办法不错,简洁安全。
其他的一些设置其实不是做这个用的:
var writer = XmlWriter.Create(compressedStream, new XmlWriterSettings
? {
????? OmitXmlDeclaration = true,
????? NamespaceHandling = NamespaceHandling.OmitDuplicates,
????? Indent = true
? });
用Resolve KnownType的办法(静态或动态)只能解决自定义类型的重复xmlns问题。
关于序列化的资源文章
这篇文章提到了DataContract和[Serializable]可以一起使用,因为对应他们的Serializer是父子类关系。如果发现子属性不再是DataContract,会自动去尝试[Serializable]
这篇很久之前就看过。里面提到上面两者的[opt in]和[opt out]的区别,所以,[DataMember]要加了才会序列化
?
关于Fiddler,在调试中,这东西非常重要,当调试本地的WebDev的WCF服务时,这个tips很有用:
这篇文章介绍了MessageContract,评论里有引用到另一篇文章的。但是实际上似乎如果只是为了Soap的Header/Member这种不是很重要的功能来用MessageContract不是很值得。而如果说是为了xml的简洁,那么用DataContract加上这篇文章里的方法也比较简洁的。