面向接口的编程(WCF)
来源:互联网 发布:淘宝信誉度查询 编辑:程序博客网 时间:2024/05/17 08:52
http://www.shangxueba.com/jingyan/100645.html
1.创建解决方案
2.创建服务接口
添加一个接口类型
添加引用
编写该接口。很简单。就定义了一个OperationContract
3.创建服务类型
添加对接口类型的引用和System.ServiceModel的引用
编写服务类型
4.创建宿主程序
添加对System.ServiceModel的引用,添加对服务以及接口的引用
编写程序
【备注】这是完全用代码的方式进行托管的,当然还可以用配置的方式来完成
5.创建客户程序
添加对接口类型的引用和System.ServiceModel的引用
编写客户端代理类型
6.调试
7.进一步扩展
我另外比较欣赏WCF 的是,它所用到的复杂类型也可以更好地在服务端和客户端之间共享。一般可以直接用一个Model项目来保存
【备注】关于这一点,我印象最深刻的是在Web Service的架构中,复杂类型在传递的时候并不那么理想。在生成客户端代理的时候,其实生成那个类型和服务端的那个不是一个东西。
添加引用
8.修改接口,添加一个操作
9。修改服务,实现该操作
10.修改宿主,只需要添加对Model的引用即可
11.修改客户端
修改代理类
///
/// 这个类型往常都是通过工具生成的,但也可以自己编写
///
class HelloServiceClient : ClientBase,Contracts.IHelloContract{
public HelloServiceClient(Binding binding, EndpointAddress address) : base(binding, address) { }
#region IHelloContract 成员
public string HelloWorld()
{
return Channel.HelloWorld();
}
#endregion
#region IHelloContract 成员
public Model.Employee GetEmployee()
{
return Channel.GetEmployee();
}
#endregion
}
修改调用代码
static void Main(string[] args)
{
Binding tcpBinding = new NetTcpBinding();
EndpointAddress tcpAddress = new EndpointAddress("net.tcp://localhost:81/HelloService");
HelloServiceClient proxy = new HelloServiceClient(tcpBinding, tcpAddress);
Console.WriteLine(proxy.HelloWorld());
Model.Employee employee = proxy.GetEmployee();
Console.WriteLine(employee);
Console.Read();
}
调试
- 面向接口的编程(WCF)
- 面向接口的编程(WCF)
- 面向接口 的编程
- 面向接口的编程
- 面向接口的编程
- 面向接口的编程
- 面向接口的编程思想
- 面向接口编程的好处
- 面向接口编程的作用
- 面向抽象(接口)的编程
- 面向接口编程的理解
- 面向接口编程的优点
- 面向接口编程的好处
- 面向接口编程的点
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程的好处
- 面向接口编程的意义
- Aptana3 使用不完全指南
- 【VS系列】开启工程MAP文件调试方法。。
- IOS 开源项目大全
- 【且听我说“镶嵌数据集建库”】5、原始影像管理流程及典型应用
- test
- 面向接口的编程(WCF)
- 28个Unix/Linux的命令行神器
- 大小端
- 关于VC中的0x????处未处理的异常:0xC0000005
- vc2010 error集锦
- 图片处理
- 解决向Android虚拟机system传文件权限问题
- 键盘记录Alpha版
- 翻译的很好的一篇android mediaplayer文章 [译]class android.media.MediaPlayer