WCF的同步和异步(以WPF连接为例)

时间:2024-05-25 11:37:26

2016-06-0711:05:44

在学习WCF时,学到WCF服务的同步和异步。

我理解的同步是:

当WCF服务是同步执行时,程序只有一条线程,代码只能按顺序一步一步来执行,当执行客户端/服务端某方法需要10秒时,只能等待10秒才能接着执行之后的代码。

当WCF服务是异步执行时,程序可以同时存在多条线程同时运行,当客户端/服务端某方法执行10秒的同时,之后的代码也在执行操作。

1.先建立一个WCF服务和WPF项目,WPF项目引用WCF服务,配置好WPF项目的WCF服务引用

WCF的同步和异步(以WPF连接为例)

2.服务端接口:ITable1Service

WCF的同步和异步(以WPF连接为例)

3.服务端接口的实现:Table1Service

WCF的同步和异步(以WPF连接为例)

4.客户端调用。注意:导入服务端的命名空间和WCF服务命名空间。

4.1实现WCF服务同步

WCF的同步和异步(以WPF连接为例)

单击“测试WCF服务”按钮,WCF服务同步执行结果。(“WCF结束”执行,是在“WCF服务同步”执行之后,线程中断10秒后执行的。注意观察执行的当前时间。)

WCF的同步和异步(以WPF连接为例)

4.2实现WCF服务异步

WCF的同步和异步(以WPF连接为例)

单击“测试WCF服务”按钮,WCF服务异步执行结果。“WCF异步”和“WCF结束”是同时执行的,“WCF结束”不会等待“WCF异步”执行后中断10秒再执行。

WCF的同步和异步(以WPF连接为例)

记录完成。