问题标签 [datacontracts]

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 回答
455 浏览

wcf - 共享收集数据合同

我有一些 WCF 服务,并将这些服务的数据合同分离到它们自己的程序集中。然后,我有一个引用数据合同程序集的服务客户端。

我已经打开了Reuse types in referenced assembly的选项。这有效,但不适用于收藏。代理生成器会生成它自己的集合版本,即使该版本与我的数据合约程序集中的版本完全相同

有没有办法告诉代理生成器重用我的数据合同程序集中定义的集合,而不是生成自己的冗余集合类型?

0 投票
3 回答
489 浏览

wcf - WCF 中的业务枚举到 DatContract 枚举的转换

我有一个枚举

我具有与 WCF 中具有相同值的数据合同相同的枚举。我需要使用翻译器将 Business 枚举转换为 DataContract 枚举。

我能做到这一点吗?

0 投票
3 回答
147 浏览

wcf - 哪些类型不能用于 WCF?

事实上,我知道Type在传递到 WCF 服务时不能使用它。有人有完整的清单吗?

0 投票
1 回答
785 浏览

wcf - DataContractSerializer KnownType 属性没有被尊重?

我有一个用 KnownType 属性装饰的类,该属性具有类的类型。这是不允许的吗?

如果是这样,为什么 DCS 会抛出以下异常?

{“第 1 行位置 387 错误。元素' http://schemas.microsoft.com/2003/10/Serialization/Arrays:Value '包含' http://schemas.datacontract.org/2004/07/的数据OCC600.Infrastructure.Dictionary.BusinessEntities:Occ600UIConfig ' 数据协定。反序列化程序不知道映射到此协定的任何类型。将与 'Occ600UIConfig' 对应的类型添加到已知类型列表中 - 例如,通过使用 KnownTypeAttribute 属性或将其添加到传递给 DataContractSerializer 的已知类型列表中。"}

0 投票
1 回答
429 浏览

json - 在 Asp.Net MVC 2 和 Asp.Net 服务器端 C# 代码之间共享 Json 数据?

我创建并喜欢我的 Asp.Net MVC2 应用程序。这是一个非常好的 DDD 应用程序,具有域模型类、视图模型类、存储库和用于公开数据的 Json 操作方法。

我的同事想与他的基于 Asp.Net Forms 的 C# 代码共享我的数据。他想通过 Internet 提取一个类定义(如数据合同),然后用我的 Json 结果填充它,有效地使用远程存储库之类的东西。

关于如何向他提供数据合同和数据的任何链接或想法?

Darin Dimitrov有一个绝妙的想法,即在此处使用数据契约来使用 JSON 数据。只是想知道是否可以使用 MVC 作为这些项目的来源,然后让他在他这边创建对象,并填充来自我这边的数据。

这个问题的关键是如何将我的数据类发送给他,然后将我的数据发送给他。

0 投票
1 回答
1144 浏览

wcf - 有什么方法可以隐藏/展平 WCF 服务数据合同中的基本类型?

考虑以下简单示例:

基类 Base 没有 WCF 服务消费者感兴趣的属性,但 WCF 迫使我也用 [DataContract] 属性注释 Base 类。这实质上显示在服务客户端上,就像Employee : EmployeeBaseEmployeeBase一个没有属性的空类。

我不想以Base<T>这种方式将类公开给服务,那么我有什么选择?

  1. Employee 类的 DTO - 我不想增加这种复杂性
  2. “展平” DataContract 层次结构,以便 Employee 的数据协定不会暴露它继承自Base<T>. 这可能吗?如何?
  3. 其他解决方案?

谢谢。

0 投票
1 回答
1744 浏览

serialization - RIA DomainService 未使用 DataContracts 生成客户端代码

我正在开发 Silverlight 4.0 应用程序并使用 RIA 服务。我在服务器端创建了一个类,其中应用了 DataContract 和 DataMember 属性。

DomainService 将此类公开为查询结果,因此在客户端上为其生成代码。但不知何故,它不会为类的所有属性生成代码。guid、string、int、bool 等类型的原始属性生成得很好,但是如果我有自己的复杂类型的属性,则不会在客户端上创建该属性。

这是有问题的课程:

Guid 属性在客户端上创建就好了。不在客户端上创建 SummaryGroup 属性。这是 SummaryGroup 的代码:

两个类都在同一个命名空间中。

问题:为什么没有在客户端创建 SummaryDataSet 的 SummaryGroup 属性,我应该如何解决这个问题?

0 投票
3 回答
6023 浏览

wcf - C# WCF 数据合同部分类 - 未选取第二部分类中的新字段

我有一个 WCF 服务,其中有一些数据合同。我正在使用 Web 服务软件工厂,它使用设计器创建所有消息和数据以及其他合同,并将它们创建为部分类。重新生成代码时,将重新创建类。

数据契约是一个工作正常的自定义类的通用列表。但是我现在想为这个类添加一个属性,所以我在同一个命名空间中添加了这个部分类:

这在服务端似乎工作正常,但是当我编译然后从客户端更新服务引用时,该类没有新属性,即当它序列化它并在客户端重新创建它时,它缺少新的财产。有谁知道这是为什么?

TIA

编辑:好的,这正式让我发疯。我唯一能看到的是它使用的是 CollectionDataContract 属性而不是 DataContract。这是否以某种方式不允许类中的数据成员被序列化?为什么会这样?它在服务端工作正常 - 我可以看到并填充值没问题。但是,当我在客户端上更新服务引用时,什么都没有,只有没有数据成员的 colelction 类。

0 投票
4 回答
1201 浏览

.net - 库中我无法修改的类的 Wcf 数据合同

嗨,我有一个执行方法的类库,并且有许多不同的类用作方法调用的参数……我正在为这个类库创建一个 wcf 包装器。但我无权更改类库。

现在我的问题是如何轻松地将这些类公开为数据合同/数据成员..?

我有大约 100 个不同的类,我需要这些方法。

谢谢

0 投票
2 回答
324 浏览

wcf - 类定义之外的 WCF 序列化信息

假设这个简单的场景:我的客户有一个已经在工作的 .net 应用程序,他/她想通过 WCF 公开一些功能。所以他给了我一个程序集,其中包含一个公开了 followig 方法的公共类。

现在,我希望 OrderDetail (Amount) 的某些成员不被序列化。根据http://msdn.microsoft.com/en-us/library/aa738737.aspx,执行此操作的方法是通过 [DataContract] 和 [DataMember]/[IgnoreDataMember] 属性。但是,这不是我的选择,因为我无法修改客户端的源代码。因此,我正在寻找一种方法来指定要在类型定义之外序列化的成员。应该是这样的:

有什么办法吗?谢谢,伯纳贝