问题标签 [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.
wcf - WCF DataContractSerializer 不获取合同属性......为什么不呢?
我有以下类型,我在 WCF 中用作消息协定:
当我使用svcutil.exe生成此类型的代理时,我得到了一个客户端,该客户端能够与托管它的服务进行通信,并且元素上的 XML 命名空间根据消息合同属性是正确的。
当我Message.CreateMessage(...)
在它的实例上使用时,命名空间恢复为默认值(http://schemas.datacontract.org/2004/07/..)。当我使用 的实例时DataContractSerializer
,会发生同样的事情。我尝试将命名空间传递给DataContractSerializer
构造函数,并且只有包装器包含在命名空间中:
此时,“数据”是:
为什么DataContractSerializer
出现忽略MessageContract
属性?svcutil如何获得这项工作?
wcf - 在 WCF 中传递 DataContract 的属性
我有一个具有重要属性的数据合同。例如,在以下代码中:
我希望在客户端代理上自动生成 Description 属性。
除了大量重复之外,还有什么解决方案或解决方法吗?
非常感谢!
wcf - WCF DataContract ToString 函数
您可以覆盖 WCF DataContrat 中的 ToString 函数吗?现在我有:
但这似乎不起作用。无论如何让这个工作?
c# - 不一致的 DataContractAttribute 行为
根据我的理解,WCF 的数据合同模型是选择加入与 asmx Web 服务的旧选择退出方法。您必须明确包括所有需要使用的字段和类型DataContractAttribute
和DataMemberAttribute
。然而,我的经历却有所不同。
看看下面的例子,
我只能说WCF WTF?
c# - 我可以将 WCF DataContract 添加到复杂类型吗?
我有一个复杂的数据类型,包括许多函数,以及通常的 get 和 get 方法。如果我可以使用 WCF,我的生活会轻松很多,因此我的客户也可以使用这种数据类型。
难道我
忽略所有操作,
[DataMemeber]
只放在需要的地方。将有问题的类放在一个共享库程序集中,供客户端和服务器访问。
谢谢,罗伯托
PS。我意识到这个问题的措辞可能不够好。
c# - 从 WSDL 生成的服务返回不同的 WSDL
我已经从交付的 WSDL模式生成了一个 WCF 服务接口,然后这个接口已经在我的一个 WCF 服务中实现,没有任何问题。
奇怪的是,我的新服务中的 WSDL 不符合生成它的 WSDL?
关于交付的 WSDL的一部分看起来如何的示例
这是生成到我的服务的以下接口
这没问题。这就是我的服务 WSDL 中相同部分的外观。
选择元素被替换为简单的 anyType 元素?问题在于客户端代理类中永远不会生成假定放置在 itemfield 上的类型(PRPA_MT201302UV02.Patient.patientPerson 和 PRPA_MT201302UV02.Patient.patientNonPersonLivingSubject)?
我试图从生成服务的交付的 WSDL模式生成代理客户端类,这将创建一个正确的代理客户端,但是在尝试与服务通信时会出现 Datacontract 不匹配异常
为什么 WSDL 模式不一样?
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))
. 我真的应该这样做吗?它似乎有效,但我认为我应该能够在运行“添加服务引用......”后使用我在客户端获得的类。
非常感谢任何帮助 - 谢谢!
.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 并不真正支持这一点(但必须有某种方式),有没有办法可以将数据序列化为二进制格式,将二进制文件附加到标头并自己处理序列化,使用我传递的类型信息。
c# - 当我在 WCF 中使用我的类/属性时,我应该将它们装饰为 DataContract/DataMember 吗?
我有一个包含对象和数据访问代码的框架。这些对象使用 NHibernate 映射到数据库。
例如我的框架有类客户和订单:
我还有一个带有 PersistCustomer 方法的 WCF 服务。像这样:
这个 WCF 引用了我的框架库。
我为 WCF 服务(一个简单的控制台应用程序)创建了一个客户端应用程序,它可以工作!
我无法理解的主要事情:为什么它可以在不将框架中的类装饰为 DataContract 并将它们的属性装饰为 DataMembers 的情况下工作?我应该装饰它们吗?
谢谢
wcf - WCF 数据合约
如果我不将服务合同、代理和服务保存在单独的程序集中,则服务合同和代理驻留在客户端程序集中,而服务则驻留在服务程序集中。
如果我不将数据合同保存在单独的程序集中,它应该驻留在客户端还是服务端?
数据协定可以驻留在两个程序集中吗?