问题标签 [datamember]

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

wcf - .NET 基类型不能被 WCF 序列化

我正在编写 WCF 服务并希望公开一些自定义配置元素(例如自定义 ConfigurationSection 和 ConnectionStringSettings),以便我可以修改服务的配置。

我的自定义配置元素之一继承自System.Configuration.ConfigurationElementCollection. 当我尝试启动我的 WCF 服务时,我收到以下错误消息...

无法序列化类型“System.Configuration.ConfigurationElementCollection”。考虑使用 DataContractAttribute 属性对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。

有没有办法为这种类型实现 DataContract?我的继承类标有 [DataContract] 属性。

0 投票
5 回答
5439 浏览

.net - WCF DataContract/ServiceOperation 涉及 .NET XmlDocument 类型

我只是想知道要在 WCF 通信中通过线路发送的数据合同。我知道为了互操作性,不建议(甚至不允许?)将本机 .NET 类型作为数据合同的一部分发送。

我希望有一个服务可以接受,作为ServiceOperation.NETXmlDocument类型的输入。DataContract如果我要创建一个包含XmlDocument类型(将用属性标记)的包装类(将用属性标记DataMember),并将其用作参数ServiceOperation- 这是否合法/可能?

我如何确保互操作性,同时仍然具有XmlDocument类型的便利性?string接受 a作为参数ServiceOperation然后在服务端XmlDocument使用方法实例化a 可能是更好的设计选择吗?XmlDocument.LoadXml(string)

为任何帮助/意见/评论欢呼,我刚刚开始掌握 wcf,所以我只想在我开始创建服务之前清除我脑海中的任何困惑。

谢谢!

0 投票
2 回答
9692 浏览

wcf - 自定义数据合同/数据成员名称

我有以下问题。一位客户请求了一个 Web 服务,该服务以下列格式返回数据:

但是当发生错误时,他们希望收到以下消息:

我使用 WCF 创建了一个 Web 服务,为了满足要求,我定义了以下服务合同:

并且还定义了以下基类:

还有两个派生类:

和:

问题是当我从 Web 服务中提取数据时,数据协定名称(“状态”)和数据成员的名称被忽略,而使用类型和属性的名称。

是否可以使用客户名称?

0 投票
3 回答
5024 浏览

wcf - WCF - 添加到 [DataMember] 列表的子类导致异常

我的 [DataContract] 类之一包含一个 [DataMember],它是一个列表。BaseClass 有几个不同的子类。

只要该列表包含任何子类的实例,就会在服务返回请求通道期间/之后发生异常。如果列表不包含任何子类,它工作正常。

这是我的代码示例(它本身不起作用):

调试时出现以下错误:

套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:00:59.6560000”。

任何人都知道如何解决这个问题(让它处理子类)?

0 投票
2 回答
2441 浏览

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

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

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

我想要以下 XML:

这可能在 with 中DataContractSerializer吗?

0 投票
3 回答
1645 浏览

wcf - WCF DataMember 序列化问题

好的,所以我参与了创建 DTO 以通过网络发送我的模型的漫长过程的一部分,我不觉得我走的是正确的路线。

我的问题是,我模型中的大多数实体无论如何都没有 DTO 多。我基本上有一个贫血的域模型,这很好,但它也让我想知道我是否需要为这些实体建模 DTO。

所以我的第一个问题是,如果只是序列化我的实体并通过网络传递它们,我可能会遇到什么问题?

其次,给出了一个更具体的问题,如下所示:

我是否可以通过电线发送 UnitId 而不是序列化的单元对象?

编辑:对不起,我的问题不够清楚,正如你们发布的那样,我知道我只能指定单元的 Id 属性,但这对我不起作用。

原因是该属性(上图)位于“Country”类上,我希望 UnitID 仅在调用“CountryService.GetCountry(Id)”或类似名称时返回。但是在流动的服务调用“UnitService.GetUnit(Id)”上,我希望更多的属性被序列化并通过网络发送。希望这是有道理的。

谢谢,克里斯。

0 投票
5 回答
38466 浏览

.net - WCF:公开只读 DataMember 属性而不设置?

我有一个服务器端类,我通过 [DataContract] 在客户端提供它。此类有一个只读字段,我想通过属性使其可用。但是,我无法这样做,因为似乎不允许我在没有 get 和 set 的情况下添加 [DataMember] 属性。

那么 - 有没有办法在没有 setter 的情况下拥有 [DataMember] 属性?

或者解决方案将使用 [DataMember] 作为字段 - (如此处所示?也尝试过这样做,但它似乎并不关心该字段是只读的..?

编辑:是通过像这样破解它来制作只读属性的唯一方法吗?(不 - 我不想这样做......)

0 投票
1 回答
2232 浏览

wcf - WCF 读取数据成员名称属性

我有一个非常简单的类叫做人。

如果我尝试序列化或反序列化,一切都很好。在 XML 中,我可以看到一个名为“MyName”的标签,而在使用 VS Intellisense 的对象中,我可以看到一个名为 Name 的属性。

我现在需要的是从对象访问属性的序列化名称。

例如,我可以做,object.GetType().GetProperty("Name");但如果我尝试做object.GetType().GetProperty("MyName"),反射说该属性不存在。如何读取属性的序列化名称?有办法吗?

0 投票
1 回答
220 浏览

xml - .Net 在没有 xsd 的类中表示 xml

我将如何代表这样的事情

用于我的 WCF 服务?不知道如何定义唯一不同的是“名称”的多个属性。

我需要将此正确设置为 DataMember,以便将 xml 反序列化到其中。

sku 会是这样的:

我会为这两个属性使用什么?

0 投票
1 回答
284 浏览

.net-3.5 - 使用 NetDataContractSerializer 进行选择性序列化

序列化此类工作正常。但是,有时我想排除该字段。这可能吗?

暂时将字段设置为 null 是不可能的。