首页 新闻 会员 周边

在控制台宿主程序中,为什么不能同时实例化两个ServiceHost?

0
悬赏园豆:20 [已解决问题] 解决于 2010-07-24 11:19

代码如下: 

using (ServiceHost
                DuplexCommonHost = new ServiceHost(typeof(DuplexCommonService)),
                OneWayCommonHost = new ServiceHost(typeof(OneWayCommonService)))
            {
                DuplexCommonHost.Opened += delegate { Console.Write("DuplexCommon service has been opened!"); };
                DuplexCommonHost.Open();

                OneWayCommonHost.Opened += delegate { Console.Write("OneWayCommon service has been opened!"); };
                OneWayCommonHost.Open();

                Console.Read();  
            }

结果客户端报一下错误:没有终结点在侦听可以接受消息的 http://localhost:8080/OneWayCommon

屏蔽红色部分代码,客户端正常运行。

智会超的主页 智会超 | 初学一级 | 园豆:1
提问于:2010-07-22 19:00
< >
分享
最佳答案
0

对的,是不能同时实例化的,否则会报不能同时监听多个连接,最多只能监听一次,也就是同一个IP和端口号,只能同时使用一次,SockException异常,为什么要实例化两次,有点不明白?

收获园豆:20
平凡网客 | 初学一级 |园豆:9 | 2010-07-24 00:28
实际项目上可能用不到,我只是做个实验,呵呵
智会超 | 园豆:1 (初学一级) | 2010-07-24 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册