问题标签 [datacontract]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
254 浏览

wcf - DataContracts 的 WCF 重定位

这是一个功能齐全的 WCF Hello World 程序。即我能够运行这个程序没有任何异常。

如您所见,AccountInfo - 数据合约由客户端和主机共享。

我只需要将数据合同保留给主机/服务端。

客户端应该只看到 DataContracts 的接口(如IAccountInfo)。

我应该如何修改我的程序来介绍IAccountInfo

0 投票
2 回答
693 浏览

c# - WCF:仅在 json 上返回必要的属性

由于性能调整,我想只返回必要的属性。有没有可能/解决方法?伪/示例代码理解:

和服务:

0 投票
1 回答
832 浏览

wcf - WCF:将字符串数据成员反序列化为 int

这个我真的想不通!(如果可能的话)。我们从 WCF 服务接收产品信息。产品数据合同有一些定义为字符串(但实际上是整数)的成员,但我们希望将它们作为整数处理。

当我将客户端合同中的数据类型从 string 更改为 int 时,我的问题就解决了。但是,有些产品有一个 string.Empty 值,不能反序列化为 int。有没有办法解决?真的不想在反序列化后转换我的结果集......

0 投票
2 回答
6396 浏览

wcf - WCF DataContract - 标记成员 IsRequired=false

我的合同如下:

究竟是什么IsRequired意思?是否IsRequired=false意味着我可以在未初始化的情况下通过网络传递一个实例,MyObj或者StrB这是否意味着我可以在不存在的情况下通过网络传递一个MyObj实例StrB

如果是后者,我如何在MyObjwithout的实例上实际实例化 + 发送StrB

0 投票
1 回答
1580 浏览

wcf - 如何从实现 IXmlSerializable 的类中避免 WCF WSDL 中的 processContents="lax"?

我有一个以合同优先方式编写的 wcf 服务。由于架构中的一些元素使用属性,我必须为此创建一个自定义序列化(使用IXmlSerializable)。下面是 wsdl 输出中的架构、类以及架构的片段。

我的问题是,即使我为我的 IXmlSerializable 类呈现 xsd,该模式也不包含在 wsdl 中。它们只是用processContents="lax". 这对我的服务的消费者来说似乎是个问题,因为他们不能使用他们的向导来创建客户端。

有没有人遇到过这个问题?无论如何控制wsdl输出以避免这种情况。我在使用消息合约和数据合约时遇到了相同的行为。

集合和项目的架构:

集合类:

物品类别:

服务渲染的xsd:

0 投票
3 回答
5189 浏览

c# - 返回自定义类的 WCF 服务在 Reference.cs 中生成错误

我在 Visual Studio 2008 中有一个 WCF 服务项目,其中包含大约 12 个方法,其中一些返回基本类型,如 bool 或 string。我还有一个引用已发布 WCF 服务的 Visual Studio 单元测试项目。当所有返回类型都是原始类型时,测试项目编译成功。

如果我向返回自定义类的服务添加新方法,发布它并更新测试项目中的服务引用,它不会编译。错误是: -

  1. “PublisherFaultException”类型已包含“原因”的定义。
  2. “PublisherFaultException”类型已包含“PropertyChanged”的定义。
  3. 类型“Publisher.Test.LibraryReference.PublisherFaultException”已经定义了一个名为“RaisePropertyChanged”的具有相同参数类型的成员。

全部在自动生成的 reference.cs 文件中。

WCF服务方法的约定是:-

并且 Page 类具有 DataContract 属性,它的公共属性具有 DataMember 属性。

我不愿意修改 Reference.cs 文件,因为每次更新服务时我都需要这样做。

有谁知道为什么会这样?

斯图尔特。

0 投票
4 回答
28793 浏览

c# - 如何使用 DataContract 添加 XML 属性

我有一个要序列化的简单类。

这将启动以下 XML:

我想要的是:

如何为 XML 元素添加属性?

提前致谢。

0 投票
2 回答
2441 浏览

serialization - 将 DataMember 添加到 DataContract 的不同命名空间

有了XmlSerializer我可以让我的成员在与父类型不同的命名空间中。

我可以做同样的事情DataContractSerializer吗?

我想要以下 XML:

这可能在 with 中DataContractSerializer吗?

0 投票
1 回答
417 浏览

c# - WCF:在双方强制执行相等的 DataContracts

我想知道是否可以让 WCF 确保连接两侧的 DataContracts 完全相同(如果不是,则在尝试连接时抛出异常)。

例如,想象一下这个服务:

现在想象一下服务已经更新,现在支持一个新的状态,“橙色”。客户端仍然具有如上所示的 DataContract。

现在我希望客户端对服务的每次调用都失败,因为客户端和服务没有使用相同的 DataContract。这可能吗?

提前感谢您的帮助!

0 投票
1 回答
2117 浏览

wcf - 带有抽象 DataMember 数组的 WCF DataContract

我无法使这种情况发挥作用。这是模式-

我尝试使用 KnownType 或 KnownServiceType 注释几乎所有内容,但无济于事。

如果我将 BaseT 设为抽象,则会收到反序列化错误“无法实例化抽象类”。如果我使 BaseT 具体化,我不会收到反序列化错误。相反,当我将它转换为 ChildT 时,我得到“无法将 'BaseT[]' 类型的对象转换为 'ChildT[]' 类型”。