gpt4 book ai didi

c# - 为什么 Web 服务引用和服务引用的结果不同?

转载 作者:行者123 更新时间:2023-11-30 17:43:06 26 4
gpt4 key购买 nike

我对在尝试理解Service ReferencesWeb Service References 的概念时发生的一件事感到有点好奇。

我做了什么?

在我的项目中,我添加了一个网络服务作为服务引用,并尝试通过使用客户端来运行我的脚本。但是在获得结果时它会抛出异常,如下图所示:

Exception while running the script

我试图找出原因,但无法得到正确的答案。对于结果对象,我有以下代码。

[
ComVisible(false),
Serializable,
SoapTypeAttribute("RecordList", "http://www.someadd.com/dev/ns/SOF/2.0"),
XmlType(TypeName="RecordList", Namespace="http://www.someadd.com/dev/ns/SOF/2.0")
]
public class MyRecordListWrapper
{
private IxRecordList recordList = null;
private const string XMLW3CSchema = "http://www.w3.org/2001/XMLSchema";

[SoapElement("Headers")]
public Header[] Headers = null;
[SoapElement("Records")]
public Record[] Records = null;
// some methods to work on intialization
public SmRecordListWrapper(ref IxRecordList p_RecordList)
{
recordList = p_RecordList;// record list initialization
Headers = CreateWrapperHeaders(); // will return header class object
Records = CreateWrapperRecords(); // will return record object
}
}

谁能告诉我为什么显示这个错误?

将引用添加为 Web 服务引用时当我添加与 web reference 相同的引用时,程序没有显示任何错误并成功运行?

那么谁能告诉我使用服务引用和 Web 服务引用处理相同代码的区别是什么?哪种方法是评估引用文献的正确方法?

希望我能得到更多描述性的答案,让事情更容易理解。

提前致谢。

最佳答案

添加 Web 引用后,visual studio 使用 xsd.exe 从服务元数据生成类。这在后台使用了 XmlSerializer。

添加服务引用后,visual studio 使用 svcutil.exe 从元数据生成类。这在后台使用了 DataContractSerializer。

两个独立的工具,两种结果。对于一般信息,DataContractSerializer 是 a lot less forgiving当谈到从元数据生成类时。

关于c# - 为什么 Web 服务引用和服务引用的结果不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31377205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com