问题标签 [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 投票
1 回答
3736 浏览

wcf - WCF DataContractSerializer 不获取合同属性......为什么不呢?

我有以下类型,我在 WCF 中用作消息协定:

当我使用svcutil.exe生成此类型的代理时,我得到了一个客户端,该客户端能够与托管它的服务进行通信,并且元素上的 XML 命名空间根据消息合同属性是正确的。

当我Message.CreateMessage(...)在它的实例上使用时,命名空间恢复为默认值(http://schemas.datacontract.org/2004/07/..)。当我使用 的实例时DataContractSerializer,会发生同样的事情。我尝试将命名空间传递给DataContractSerializer构造函数,并且只有包装器包含在命名空间中:

此时,“数据”是:

为什么DataContractSerializer出现忽略MessageContract属性?svcutil如何获得这项工作?

0 投票
2 回答
1037 浏览

wcf - 在 WCF 中传递 DataContract 的属性

我有一个具有重要属性的数据合同。例如,在以下代码中:

我希望在客户端代理上自动生成 Description 属性。

除了大量重复之外,还有什么解决方案或解决方法吗?

非常感谢!

0 投票
3 回答
3833 浏览

wcf - WCF DataContract ToString 函数

您可以覆盖 WCF DataContrat 中的 ToString 函数吗?现在我有:

但这似乎不起作用。无论如何让这个工作?

0 投票
2 回答
1389 浏览

c# - 不一致的 DataContractAttribute 行为

根据我的理解,WCF 的数据合同模型是选择加入与 asmx Web 服务的旧选择退出方法。您必须明确包括所有需要使用的字段和类型DataContractAttributeDataMemberAttribute。然而,我的经历却有所不同。

看看下面的例子,







我只能说WCF WTF?

0 投票
5 回答
5408 浏览

c# - 我可以将 WCF DataContract 添加到复杂类型吗?

我有一个复杂的数据类型,包括许多函数,以及通常的 get 和 get 方法。如果我可以使用 WCF,我的生活会轻松很多,因此我的客户也可以使用这种数据类型。

难道我

  1. 忽略所有操作,[DataMemeber]只放在需要的地方。

  2. 将有问题的类放在一个共享库程序集中,供客户端和服务器访问。

谢谢,罗伯托

PS。我意识到这个问题的措辞可能不够好。

0 投票
1 回答
1194 浏览

c# - 从 WSDL 生成的服务返回不同的 WSDL

我已经从交付的 WSDL模式生成了一个 WCF 服务接口,然后这个接口已经在我的一个 WCF 服务中实现,没有任何问题。

奇怪的是,我的新服务中的 WSDL 不符合生成它的 WSDL?

关于交付的 WSDL的一部分看起来如何的示例

这是生成到我的服务的以下接口

这没问题。这就是我的服务 WSDL 中相同部分的外观。

选择元素被替换为简单的 anyType 元素?问题在于客户端代理类中永远不会生成假定放置在 itemfield 上的类型(PRPA_MT201302UV02.Patient.patientPerson 和 PRPA_MT201302UV02.Patient.patientNonPersonLivingSubject)?

我试图从生成服务的交付的 WSDL模式生成代理客户端类,这将创建一个正确的代理客户端,但是在尝试与服务通信时会出现 Datacontract 不匹配异常

为什么 WSDL 模式不一样?

0 投票
2 回答
1072 浏览

c# - DataContractSerializer 输出带有附加到所有元素且无序的“字段”的 XML

我是创建 WCF REST 服务的新手——所以如果我在这里做错了,请让我惊叹。

我有一个使用 WCF 开发的基于 REST 的服务,定义了以下 DataContract:

在客户端应用程序上,我正在尝试使用 HttpWebRequest 对象发布到服务(使用此数据协定),输出由 a 生成DataContractSerializer(typeof(MessagingWS.Email))(因为在使用“添加服务引用”添加 WCF 服务后,我可以使用 Email 类...' 作为客户端应用程序上的 MessagingWS)。无论如何,这会产生以下输出,当我尝试 POST 时,该输出会从服务返回 400 - Bad Request:

所以我最终得到了所有附加“字段”的元素,它们不是我在 DataContract 中指定的顺序(它们采用默认顺序)。有人可以告诉我这里发生了什么,如果我试图完成一些不可能的事情吗?

我确实注意到,当我将 DataContract 类从服务器复制到客户端(并将其包含在不同的命名空间 - Messaging2 下)时,当我使用DataContractSerializer(typeof(Messaging2.Email)). 我真的应该这样做吗?它似乎有效,但我认为我应该能够在运行“添加服务引用......”后使用我在客户端获得的类。

非常感谢任何帮助 - 谢谢!

0 投票
1 回答
1579 浏览

.net - 序列化消息头的 WCF 问题

我有以下代码:

当我在运行上述代码后尝试执行服务器时,出现以下错误:

不应使用数据合同名称“UserAcountDetials: http://schemas.datacontract.org/2004/07/ACSIS.Core.Common.Configuration ”键入“ACSIS.Core.Common.Configuration.UserAcountDetials”。将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给 DataContractSerializer 的已知类型列表中。

现在UserSettings描述SystemContext为 type IDictionary。我知道 WCF 不能凭空创造物体,所以我需要一点帮助。

有什么方法可以让我也可以通过网络传递对象的运行时类型,并将其转换回另一端的那种类型。我没有将 WCF 用于 java 到 .net SOA 的东西或类似的东西,我知道具体类型将在电线的另一端。

如果 WCF 并不真正支持这一点(但必须有某种方式),有没有办法可以将数据序列化为二进制格式,将二进制文件附加到标头并自己处理序列化,使用我传递的类型信息。

0 投票
2 回答
3814 浏览

c# - 当我在 WCF 中使用我的类/属性时,我应该将它们装饰为 DataContract/DataMember 吗?

我有一个包含对象和数据访问代码的框架。这些对象使用 NHibernate 映射到数据库。

例如我的框架有类客户和订单:

我还有一个带有 PersistCustomer 方法的 WCF 服务。像这样:

这个 WCF 引用了我的框架库。

我为 WCF 服务(一个简单的控制台应用程序)创建了一个客户端应用程序,它可以工作!

我无法理解的主要事情:为什么它可以在不将框架中的类装饰为 DataContract 并将它们的属性装饰为 DataMembers 的情况下工作?我应该装饰它们吗?

谢谢

0 投票
3 回答
909 浏览

wcf - WCF 数据合约

如果我不将服务合同、代理和服务保存在单独的程序集中,则服务合同和代理驻留在客户端程序集中,而服务则驻留在服务程序集中。

如果我不将数据合同保存在单独的程序集中,它应该驻留在客户端还是服务端?

数据协定可以驻留在两个程序集中吗?