WCF学习随笔4--契约|序列化详解--祭斧_AX
2008-03-17 20:47
387 查看
添加一个WCF文件,会自动生成两个文件,一个cs后缀一个svc后缀.
cs后缀为对接口的定义.
svc后缀为实现接口的服务.
下面的代码为对接口的定义,代码中对契约和序列化进行了详细解释.
注意:客户端在创建完服务器端的对象时,不会对属性进行赋值.
即跟属性对应的变量赋值语句不会被执行(已跟踪).【不知道为什么???】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService_AX
实现接口的服务代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService_AX
客户端调用代码(不会调用的见上篇)
protected void Page_Load(object sender, EventArgs e)
namespace SR
{
[Serializable]
[DebuggerStepThrough]
[GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
[DataContract(Name = "B", Namespace = "http://schemas.datacontract.org/2004/07/WcfService_AX")]
public class B : IExtensibleDataObject, INotifyPropertyChanged
{
public B();
[DataMember(Order = 2)]
public int AX { get; set; }
public ExtensionDataObject ExtensionData { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember(Name = "name")]
public string name1 { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName);
}
}
输出结果
Hello World!
You load the Method:OperateSerializableType--Parameter type is WcfService_AX.AOK
--Operation has complished!--
0
1
感觉比较简单,就不附代码下载了.
博客园→斧头帮少帮主
cs后缀为对接口的定义.
svc后缀为实现接口的服务.
下面的代码为对接口的定义,代码中对契约和序列化进行了详细解释.
注意:客户端在创建完服务器端的对象时,不会对属性进行赋值.
即跟属性对应的变量赋值语句不会被执行(已跟踪).【不知道为什么???】
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService_AX
实现接口的服务代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfService_AX
客户端调用代码(不会调用的见上篇)
protected void Page_Load(object sender, EventArgs e)
namespace SR
{
[Serializable]
[DebuggerStepThrough]
[GeneratedCode("System.Runtime.Serialization", "3.0.0.0")]
[DataContract(Name = "B", Namespace = "http://schemas.datacontract.org/2004/07/WcfService_AX")]
public class B : IExtensibleDataObject, INotifyPropertyChanged
{
public B();
[DataMember(Order = 2)]
public int AX { get; set; }
public ExtensionDataObject ExtensionData { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember(Name = "name")]
public string name1 { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName);
}
}
输出结果
Hello World!
You load the Method:OperateSerializableType--Parameter type is WcfService_AX.AOK
--Operation has complished!--
0
1
感觉比较简单,就不附代码下载了.
博客园→斧头帮少帮主
相关文章推荐
- 【WCF学习随笔五】数据契约。
- 一步一个脚印学习WCF系列之WCF契约设计—2-复杂类型序列化之可序列化类型SerializableAttribute
- 一步一个脚印学习WCF系列之WCF契约设计—3-复杂类型序列化之数据契约DataContractAttribute
- 【WCF学习随笔四】服务契约。
- 跟我一起学WCF(7)——WCF数据契约与序列化详解
- 【学习】WCF的服务契约、复杂类型序列化、消息契约的实现
- 【学习】WCF的服务契约、复杂类型序列化、消息契约的实现续-IXmlSerializable与MessageContract
- WCF学习随笔3--第一个Sample--祭斧_AX
- WCF学习随笔6--Version变更--我们在前进_AX
- WCF学习随笔2--Contract--磨斧_AX
- WCF学习随笔1--扫盲--磨斧_AX
- WCF学习随笔5--我知道:Known--可憐的孩子_AX
- 进一步学习WCF:数据契约,序列化等
- WCF学习心得(1): 获取一个服务所有的契约中的操作
- C#反射Reflection学习随笔(完结篇)_AX
- 用VisualStudio2010学习WCF服务编程总结(2)契约的继承
- WCF学习序列(一):服务契约
- C#反射Reflection学习随笔(AX)
- 深入学习WCF-契约
- 菜菜从零学习WCF十(序列化)