怎么“实体类”不用加“DataContract”、“DataMember”

starrycheng 2012-03-12 09:10:39
一、项目中用到了“启用了 Silverlight 的WCF服务”,使用时如下:

[ServiceContract(Namespace = "")]
[SilverlightFaultBehavior]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class ChartsService
{
[OperationContract]
public void DoWork()
{
// 在此处添加操作实现
return;
}
[OperationContract]
public List<UseType> GetUseType()
{
return new BaseClass().GetUseType("MeterUseType");
}

}


二、对应的“UseType类”:

namespace Mycems.Model
{
public class UseType
{
public string CodeId
{
get;
set;
}


public string CodeName
{
get;
set;
}
}
}

问题一:服务类中有“ServiceContract”和“OperationContract”两个标记,而在实体类“UseType”中却没有使用“DataContract”和“DataMember”标记,但是服务正常提供请问这是为什么???

问题二:如果是传统的“WCF 服务”而不是“启用了 Silverlight 的WCF服务”,是不是就会报错?

问题三:不用“DataContract”和“DataMember”标记有什么影响呢?
...全文
439 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
starrycheng 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

百毒http://baike.baidu.com/view/1114894.htm
[/Quote]

原来数据在传输的过程中是“SOAP 消息”,对么?
starrycheng 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dongxinxi 的回复:]

百毒http://baike.baidu.com/view/1114894.htm
[/Quote]

Google。。。
starrycheng 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dongxinxi 的回复:]

.Net 3.5SP1之后就不用了,一次偶然的失误中也发现了这个问题
http://www.cnblogs.com/zlgcool/archive/2008/11/22/1338850.html

这个跟.Net版本有关
[/Quote]

WCF,其实是把“实体对象集合”表示的数据集,进行序列化然后以“Xml”文件的形式在网络中传送的对吧?
starrycheng 2012-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dongxinxi 的回复:]

.Net 3.5SP1之后就不用了,一次偶然的失误中也发现了这个问题
http://www.cnblogs.com/zlgcool/archive/2008/11/22/1338850.html

这个跟.Net版本有关
[/Quote]

原来默认会序列化,Ok。

总结一下吧,WCF中应用各个标记时所作的序列化处理:
1. 不给任何标记将会做XML映射,所有公有属性/字段都会被序列化
2. [Serializable]标记会将所有可读写字段序列化
3. [DataContract]和[DataMember]联合使用来标记被序列化的字段
  • 打赏
  • 举报
回复
.Net 3.5SP1之后就不用了,一次偶然的失误中也发现了这个问题
http://www.cnblogs.com/zlgcool/archive/2008/11/22/1338850.html

这个跟.Net版本有关

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧