7
|
Dean Johnston · 技术社区 · 15 年前 |
![]() |
1
3
从我的头上看,我认为你不能。相反,你可以做的是手工编写WSDL文件,然后使用svcutil.exe生成代码。 如果您只想按不同于字母顺序的顺序排列元素,则可以使用[datamember]属性([datamember(order=1)]、[datamember(order=2)]等上的order(从1开始,而不是从0开始)参数对datacontract中的元素进行排序。 |
![]() |
2
2
可以切换WCF以使用XmlSerializer而不是DataContractSerializer。XmlSerializer支持xs:all。见 http://msdn.microsoft.com/en-us/library/ms733901.aspx |
![]() |
3
0
即使您可以强制WCF这样做,反序列化程序也无法正确工作以支持输入。示例和解释如下。 输入1(好):
输入2(坏):
因此,如果输入1被正确反序列化,那么输入2将不会——bField将具有设置的值,但属性afField将为空。 如果wcf不能处理这种无序输入,我强烈认为它应该抛出一个异常,但是基于我的测试(在IIS中为.NET 3.5),它不这样做,它只是跳过一些元素值。 此外,wcf还忽略完全虚假的输入,只要它不影响它正在寻找的有效元素值。所以这个输入
不会引发任何错误,实际上会反序列化afield和bfield中的值。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 4 月前 |
![]() |
CactusCake · if语句中应有分号 5 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 6 月前 |