Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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 1.1使用WCF web服务需要ServiceContract中的XmlSerializerFormat属性_Asp.net_.net_Wcf_Web Services_Endpoint - Fatal编程技术网

为什么从ASP.NET 1.1使用WCF web服务需要ServiceContract中的XmlSerializerFormat属性

为什么从ASP.NET 1.1使用WCF web服务需要ServiceContract中的XmlSerializerFormat属性,asp.net,.net,wcf,web-services,endpoint,Asp.net,.net,Wcf,Web Services,Endpoint,我正在使用APS.NET1.1中的WCFWeb服务,我在需要的任何地方都能看到 1:将XmlSerializerFormat属性添加到我们要使用的ServiceContract中 2:使用basicHttpBinding作为端点设置 为什么会这样? ->是否可以在配置文件中以某种方式设置点1条件 ->basicHttpBinding的默认值为XML序列化时。为什么我们需要显式地将服务契约声明为XmlSerializerFormat ? 开箱即用,我不认为WCF提供了覆盖默认序列化程序(即Data

我正在使用APS.NET1.1中的WCFWeb服务,我在需要的任何地方都能看到

1:将XmlSerializerFormat属性添加到我们要使用的ServiceContract中

2:使用basicHttpBinding作为端点设置

为什么会这样?

->是否可以在配置文件中以某种方式设置点1条件

->basicHttpBinding的默认值为XML序列化时。为什么我们需要显式地将服务契约声明为XmlSerializerFormat ?


开箱即用,我不认为WCF提供了覆盖默认序列化程序(即DataContractSerializer)的方法。但是,您可以创建自定义服务\操作行为,为自定义操作行为定义配置元素,并使用此元素重写序列化程序


BasicHttpBinding
的默认序列化程序是DataContractSerializer,而不是XmlSerializer。两个序列化程序的工作方式不同(尽管生成xml输出)。您可以检查这两个序列化程序的行为之间的差异。

那么如何将BasicHttpBinding的序列化程序设置为XMLSerializer?您不能更改单个绑定的序列化程序,但可以通过仅在服务上添加XMLSerializerAttribute来指定特定服务可以使用DataContract或XMLSerializer合同。