问题标签 [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.
wcf - .NET 基类型不能被 WCF 序列化
我正在编写 WCF 服务并希望公开一些自定义配置元素(例如自定义 ConfigurationSection 和 ConnectionStringSettings),以便我可以修改服务的配置。
我的自定义配置元素之一继承自System.Configuration.ConfigurationElementCollection
. 当我尝试启动我的 WCF 服务时,我收到以下错误消息...
无法序列化类型“System.Configuration.ConfigurationElementCollection”。考虑使用 DataContractAttribute 属性对其进行标记,并使用 DataMemberAttribute 属性标记您想要序列化的所有成员。
有没有办法为这种类型实现 DataContract?我的继承类标有 [DataContract] 属性。
.net - WCF DataContract/ServiceOperation 涉及 .NET XmlDocument 类型
我只是想知道要在 WCF 通信中通过线路发送的数据合同。我知道为了互操作性,不建议(甚至不允许?)将本机 .NET 类型作为数据合同的一部分发送。
我希望有一个服务可以接受,作为ServiceOperation
.NETXmlDocument
类型的输入。DataContract
如果我要创建一个包含XmlDocument
类型(将用属性标记)的包装类(将用属性标记DataMember
),并将其用作参数ServiceOperation
- 这是否合法/可能?
我如何确保互操作性,同时仍然具有XmlDocument
类型的便利性?string
接受 a作为参数ServiceOperation
然后在服务端XmlDocument
使用方法实例化a 可能是更好的设计选择吗?XmlDocument.LoadXml(string)
为任何帮助/意见/评论欢呼,我刚刚开始掌握 wcf,所以我只想在我开始创建服务之前清除我脑海中的任何困惑。
谢谢!
wcf - 自定义数据合同/数据成员名称
我有以下问题。一位客户请求了一个 Web 服务,该服务以下列格式返回数据:
但是当发生错误时,他们希望收到以下消息:
我使用 WCF 创建了一个 Web 服务,为了满足要求,我定义了以下服务合同:
并且还定义了以下基类:
还有两个派生类:
和:
问题是当我从 Web 服务中提取数据时,数据协定名称(“状态”)和数据成员的名称被忽略,而使用类型和属性的名称。
是否可以使用客户名称?
wcf - WCF - 添加到 [DataMember] 列表的子类导致异常
我的 [DataContract] 类之一包含一个 [DataMember],它是一个列表。BaseClass 有几个不同的子类。
只要该列表包含任何子类的实例,就会在服务返回请求通道期间/之后发生异常。如果列表不包含任何子类,它工作正常。
这是我的代码示例(它本身不起作用):
调试时出现以下错误:
套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:00:59.6560000”。
任何人都知道如何解决这个问题(让它处理子类)?
serialization - 将 DataMember 添加到 DataContract 的不同命名空间
有了XmlSerializer
我可以让我的成员在与父类型不同的命名空间中。
我可以做同样的事情DataContractSerializer
吗?
我想要以下 XML:
这可能在 with 中DataContractSerializer
吗?
wcf - WCF DataMember 序列化问题
好的,所以我参与了创建 DTO 以通过网络发送我的模型的漫长过程的一部分,我不觉得我走的是正确的路线。
我的问题是,我模型中的大多数实体无论如何都没有 DTO 多。我基本上有一个贫血的域模型,这很好,但它也让我想知道我是否需要为这些实体建模 DTO。
所以我的第一个问题是,如果只是序列化我的实体并通过网络传递它们,我可能会遇到什么问题?
其次,给出了一个更具体的问题,如下所示:
我是否可以通过电线发送 UnitId 而不是序列化的单元对象?
编辑:对不起,我的问题不够清楚,正如你们发布的那样,我知道我只能指定单元的 Id 属性,但这对我不起作用。
原因是该属性(上图)位于“Country”类上,我希望 UnitID 仅在调用“CountryService.GetCountry(Id)”或类似名称时返回。但是在流动的服务调用“UnitService.GetUnit(Id)”上,我希望更多的属性被序列化并通过网络发送。希望这是有道理的。
谢谢,克里斯。
.net - WCF:公开只读 DataMember 属性而不设置?
我有一个服务器端类,我通过 [DataContract] 在客户端提供它。此类有一个只读字段,我想通过属性使其可用。但是,我无法这样做,因为似乎不允许我在没有 get 和 set 的情况下添加 [DataMember] 属性。
那么 - 有没有办法在没有 setter 的情况下拥有 [DataMember] 属性?
或者解决方案将使用 [DataMember] 作为字段 - (如此处所示)?也尝试过这样做,但它似乎并不关心该字段是只读的..?
编辑:是通过像这样破解它来制作只读属性的唯一方法吗?(不 - 我不想这样做......)
wcf - WCF 读取数据成员名称属性
我有一个非常简单的类叫做人。
如果我尝试序列化或反序列化,一切都很好。在 XML 中,我可以看到一个名为“MyName”的标签,而在使用 VS Intellisense 的对象中,我可以看到一个名为 Name 的属性。
我现在需要的是从对象访问属性的序列化名称。
例如,我可以做,object.GetType().GetProperty("Name");
但如果我尝试做object.GetType().GetProperty("MyName")
,反射说该属性不存在。如何读取属性的序列化名称?有办法吗?
xml - .Net 在没有 xsd 的类中表示 xml
我将如何代表这样的事情
用于我的 WCF 服务?不知道如何定义唯一不同的是“名称”的多个属性。
我需要将此正确设置为 DataMember,以便将 xml 反序列化到其中。
sku 会是这样的:
我会为这两个属性使用什么?
.net-3.5 - 使用 NetDataContractSerializer 进行选择性序列化
序列化此类工作正常。但是,有时我想排除该字段。这可能吗?
暂时将字段设置为 null 是不可能的。