标签: datacontract

如何控制.NET DataContract序列化,以便它使用XML属性而不是元素?

如果我有一个标记为a的类DataContract和一些标记有DataMember属性的属性,我可以轻松地将其序列化为XML,但它会创建如下的输出:

<Person>
    <Name>John Smith</Name>
    <Email>john.smith@acme.com</Email>
    <Phone>123-123-1234</Phone>
</Person>
Run Code Online (Sandbox Code Playgroud)

我更喜欢的是属性,比如......

<Person Name="John Smith" Email="john.smith@acme.com" Phone="123-123-1234" />
Run Code Online (Sandbox Code Playgroud)

DataMember属性允许我控制名称和顺序,但不能控制它是否被序列化为元素或属性.我环顾四周找到了DataContractFormat,IXmlSerializable但我希望有更简单的解决方案.

最简单的方法是什么?

.net serialization xml-serialization datacontract

16
推荐指数
2
解决办法
3万
查看次数

哪种列表/集合类型最适合在WCF数据协定中使用?

在定义WCF数据协定时,应该使用哪种类型的集合/列表?

  • 应该是ICollection <T>,IList <T>,T []还是......?
  • 我应该使用接口类型还是具体类型?
  • 有什么权衡需要考虑?

.net wcf datacontract

16
推荐指数
1
解决办法
7150
查看次数

如何使用DataContract添加XML属性

我有一个简单的类我正在序列化.

 [DataContract(Name = "Test", Namespace = "")]
 public class Test
 {
    [DataMember(Order = 0, Name = "Text")]
    public string Text { get; set; }

    public Test() {}
 }
Run Code Online (Sandbox Code Playgroud)

这将启动以下XML:

<Test>
   <Text>Text here</Text>
</Test>
Run Code Online (Sandbox Code Playgroud)

我想要的是:

<Test>
   <Text type="MyType">Text here</Text>
</Test>
Run Code Online (Sandbox Code Playgroud)

如何添加XML元素的属性?

提前致谢.

.net c# serialization datacontract

16
推荐指数
1
解决办法
3万
查看次数

如何确定类是否具有DataContract属性?

我正在编写一个序列化函数,需要确定类是否具有DataContract属性.基本上,如果类具有DataContract属性,函数将使用DataContractSerializer,否则它将使用XmlSerializer.

谢谢你的帮助!

c# serialization datacontract deserialization

14
推荐指数
2
解决办法
5674
查看次数

何时/为什么我不应该在我的DataContracts上使用IsReference = true?

我理解什么是属性IsReference以及它正在做什么.但我不明白为什么/当我应该使用它.什么时候使用IsReference = true是个坏主意?

如果我的wcf服务是.net到.net,是否有充分的理由设置IsReference = true?

wcf datacontract datacontractserializer

14
推荐指数
2
解决办法
7678
查看次数

如何在WCF中将接口标记为DataContract


我有两个数据类,只保存数据成员(没有函数).一个是CallTask,另一个是SmsTask.这两个类有一些常见的属性,如ID,Tel.我将这些常见属性放在一个单独的接口类中,并在适当的时候在我的项目中使用此接口类.
现在我在我的项目中添加了一个WCFService,以便在客户端和服务器之间共享数据.考虑以下课程设计:

public interface IGsmTask : IComparable
{
    string TaskID { get; set; }
    string SessionID { get; set; }
    string Tel { get; set; }
}

class CallTask : IGsmTask
{
    #region IGsmTask Members

    public string TaskID { get; set; }

    public string SessionID { get; set; }

    public string Tel { get; set; }

    #endregion        
}

class SmsTask : IGsmTask
{
    #region IGsmTask Members

    public string TaskID { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# wcf datacontract

14
推荐指数
2
解决办法
2万
查看次数

如何将C#WCF DataContract序列化/反序列化到XML或从XML序列化

我正在开发一个WCF服务,它将由多个不同的客户端应用程序使用.为了使一个功能起作用,服务器需要将XML文件读入C#DataContract,然后将其传递给相关的客户端.据我所知,从MSDN网站,这是可能的,但我找不到任何完整的例子.特别是,该网站谈到了一个"流"参数,我还没有完成.

我的数据协定有一个属性字段,它是另一个具有多个简单属性字段的数据协定的列表.

例如

    [DataContract]
    public class MyClass1 {
        [DataMember]
        public string name;
        [DataMember]
        public int age;
    }

    [DataContract]
    public class MyClass2 {
        [DataMember]
        public List<MyClass1> myClass1List;
    }
Run Code Online (Sandbox Code Playgroud)

我的课看起来像这样.

c# wcf xml-serialization datacontract deserialization

13
推荐指数
1
解决办法
4万
查看次数

WCF DataContracts

我有一个为内部客户端托管的WCF服务 - 我们可以控制所有客户端.因此,我们将使用数据协定库来否定代理生成的需要.我想使用一些readonly属性,并有一些没有默认构造函数的datacontracts.谢谢你的帮助...

.net wcf datacontract serializer

12
推荐指数
1
解决办法
8890
查看次数

将DataMember添加到WCF中的现有DataContract

我想DataMember在我DataContract的一个中添加一个.我想知道DataMember如果没有更新其中一方,现有服务器和客户端将如何在新的情况下运行.

我记得有一种方法可以DataMember选择,但我想知道它是否适用于所有场景:

  • 更新了Client => old Server
  • 旧客户端=>更新服务器
  • 更新的客户端<=旧服务器
  • 旧客户端<=已更新服务器

.net wcf datacontract datamember isrequired

12
推荐指数
1
解决办法
4386
查看次数

在运行时针对TypeScript中的接口验证"任何"对象

我正在使用typescript处理应用程序的UI.与此同时,其他人也在为我提供数据.我们就数据合同达成了一致意见,但是这个过程很容易出错,我不断从服务器获取无效的数据对象.所以我的问题是我可以使用typescript中定义的一些接口以某种方式验证动态对象(在运行时)吗?


这个问题是在2012年提出的,因此它不能重复检查一个对象是否在运行时使用 2015年提出的TypeScript实现了一个接口.

validation ajax datacontract typescript

12
推荐指数
2
解决办法
7370
查看次数