首页 新闻 会员 周边 捐助

WCF是否能封装到类库里?

0
悬赏园豆:50 [已解决问题] 解决于 2012-10-22 10:09

已经写好了一个WCF并且布暑到了固定服务器上,基本不会改变。

现在就想把调用WCF接口封装到一个类库DLL里面来,在具体的项目中需要调用该WCF的,只需添加WCF封装的类库DLL引用就可以了。

自已动手编写了一下,不太可行,请园里的朋友指导一下或者提供一些学习资料

Johnny Li的主页 Johnny Li | 初学一级 | 园豆:114
提问于:2012-10-18 15:42
< >
分享
最佳答案
0

类库封装的是接口,而不是服务类,将接口和公共数据类型单独分离到一个项目中,独立编译为dll,就成为你需要的类库了,之后只要通过编码方式,客户端引用接口dll,通过创建ChannelFactory就可以得到代理对象T,然后就可以直接调用远程方法了。

收获园豆:10
秦楼东 | 小虾三级 |园豆:913 | 2012-10-19 12:08
其他回答(5)
0

当然可以,只要 客户端和服务端的 服务契约一样就行。

收获园豆:5
Qlin | 园豆:2403 (老鸟四级) | 2012-10-18 16:17

我认为也是可行的,但还没是写出来。调用WCF要用到配置文件,生成类库时,没法把配置信息封装到DLL里去,造成调用DLL项目找不到终结点

支持(0) 反对(0) Johnny Li | 园豆:114 (初学一级) | 2012-10-18 17:08

@Johnny Li: 

配置信息,也要考一份到客户端就是配置文件,配置endpoint,

直接引用了接口之后,还要利用ChannelFactory创建一个通道,如下

 using (ChannelFactory<接口> channelFactory = new ChannelFactory<接口>( "endpoint 名称"))
{}
支持(0) 反对(0) Qlin | 园豆:2403 (老鸟四级) | 2012-10-18 17:17
0

你说的是客户端代理吗?

客户端代理也是类。把它放在一个新的项目里面在其他地方用的时候引用一下就行了吧。

收获园豆:5
E1ement | 园豆:59 (初学一级) | 2012-10-18 16:21
0

其实你说的这个问题无关紧要,只要客户端能找到配置文件,程序能执行就能调用wcf,如果你不想要配置文件,那用程序写死了,反正你的wcf地址又不会变

 

wcf用配置文件也是找到配置节,然后实例化通道什么滴,和代码没区别

收获园豆:10
架构师修行之路 | 园豆:322 (菜鸟二级) | 2012-10-18 17:43
0

wcf没发布服务时跟类库没什么区别,你正常写c#代码即可

收获园豆:10
az235 | 园豆:8483 (大侠五级) | 2012-10-19 10:37
0

可以,直接在配置文件内写你WCF的地址,然后封装为dll文件,在程序中添加引用是可以的。

收获园豆:10
net_miao | 园豆:218 (菜鸟二级) | 2012-10-19 10:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册