首页 新闻 会员 周边 捐助

WCF 动态加载外部工程中的服务与契约

0
悬赏园豆:200 [待解决问题]

WCF 动态加载外部工程中的服务(dll文件)与契约

想做一个纯控制台的wcf宿主
在控制台中没有服务与契约

服务与契约都是在外部动态加载进来的。  

求思路。求代码。。

yhpStyle的主页 yhpStyle | 初学一级 | 园豆:10
提问于:2011-12-26 15:56
< >
分享
所有回答(5)
0

描述的清楚点

爱研究源码的javaer | 园豆:930 (小虾三级) | 2011-12-27 10:29

我的wcf 只有一个宿主没有契约

契约和服务都是从其他程序中提供的 

我现在只想要做一个单纯的控制wcf里面的契约和服务的管理程序(权限,开启,关闭 ===)

如何创建host对象(最好是不要一个一个的open来打开)

还有就是能不能不重启iis就最好了

支持(0) 反对(0) yhpStyle | 园豆:10 (初学一级) | 2011-12-27 13:35
0

[用反射]

为你的控制台程序加个配置文件,里面包括你要加载的服务和契约的DLL相关信息;WCF服务也使用配置文件的形式。

ServiceHost实例化的参数是Type,使用反射技术通过配置文件Type就可以实例化ServiceHost;WCF服务配置已经在配置文件,会自动加载。

这样你控制台和契约与服务没有任何依赖,都是通过配置文件来的。

Higel | 园豆:464 (菜鸟二级) | 2011-12-27 11:33

目前就是这样在做的。 现在就是想看看有没有更好的解决方案

支持(0) 反对(0) yhpStyle | 园豆:10 (初学一级) | 2011-12-27 13:31
0

这个有什么不行的? 你怎么加载普通的程序集, 就怎么加载。

ChatinCode | 园豆:2272 (老鸟四级) | 2011-12-27 13:10

做已经做完了但是  在open()的时候异常了 错误如下:

服务“BMCWCF.Service1”有零个应用程序(非基础结构)终结点。这可能是因为未找到应用程序的配置文件,或者在配置文件中未找到与服务名称匹配的服务元素,或者服务元素中未定义终结点。

重启之后来open()就OK了  求解决。。。

 

支持(0) 反对(0) yhpStyle | 园豆:10 (初学一级) | 2011-12-27 15:44
0

自己已解决

yhpStyle | 园豆:10 (初学一级) | 2011-12-28 17:33
0

散豆吧,丷哈,顺便求解决方案

Rookier | 园豆:652 (小虾三级) | 2012-01-17 11:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册