博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF步步为营(五):数据契约
阅读量:6325 次
发布时间:2019-06-22

本文共 1062 字,大约阅读时间需要 3 分钟。

. WCF只能传输序列化的类型,WCF 能自动序列化.net内置的之类型,但是如果需要传输自定义的类型,必须把自定义的类型标注DataContract

DataContract标注这个类作为数据契约,DataMember属性指明那些字段公布为原数据,是否必需,顺序是多少。

2. 上面的定义,使得Student可以用在服务契约里,下面的Name可以让客户端的名称和服务端不同。

3. 下面是我们生成的代理类,可以看到客户端的名字,而且由于Student的Address未声明DataMember,所以客户端是不可见的

Code
 

 

4. 客户端调用示例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.ServiceModel;

using JackWangServiceClient.CalcService;

namespace JackWangServiceClient

{

    class Program

    {

        static void Main(string[] args)

        {

            CalcServiceClient proxy = new CalcServiceClient();

            long result = proxy.AddInt(50, 60);

            Student myStudent = new Student();

            myStudent.FirstName = "Jack";

            myStudent.LastName = "Wang";

            myStudent.Age = 18;

            Student resultStudent = proxy.addAgeOfStudent(myStudent);

            Console.Out.WriteLine("result from server is:" + result);

            Console.Out.WriteLine(resultStudent.FirstName + "," + resultStudent.LastName + "," + resultStudent.Age);

            Console.ReadLine();

        }

    }

}

本文转自敏捷的水博客园博客,原文链接http://www.cnblogs.com/cnblogsfans/archive/2008/07/03/1234936.html如需转载请自行联系原作者

王德水

你可能感兴趣的文章
Django - 自定义simple_tag
查看>>
ZeroMQ指南-前言 ...
查看>>
一个技术汪的开源梦 —— 开篇
查看>>
第四次作业
查看>>
CSS高级篇:响应式导航条
查看>>
python——模块(Module)的概念、使用以及安装第三方模块
查看>>
从用eclipse还是idea所想到的
查看>>
Ubuntu下安装和配置Apache2,小编觉得挺不错的,现在就分享给大家
查看>>
Spring源码学习(8)——SpringMVC
查看>>
关于QTcreator出现不能包含头文件的解决
查看>>
CPU与内存的那些事
查看>>
[Erlang脚印 0005] ETS 和Record
查看>>
按钮自动点击,间隔10s点击一次
查看>>
Leetcode 774. Minimize Max Distance to Gas Station
查看>>
ajax 设置Access-Control-Allow-Origin实现跨域访问
查看>>
Flask框架
查看>>
对Spring 框架 AOP(面向切面)的理解
查看>>
vue的监听键盘事件的快捷方法
查看>>
git hooks 远程部署
查看>>
Spark 1.0.0 部署Hadoop 2.2.0上
查看>>