WCF 配置终结点并调用服务

wcf通过xml文件配置终结点什么的感觉有点小麻烦,个人还是觉得用代码形式配置比较好,当然在发布的时候可能会比较麻烦,需要重新编译。。。

下面将wcf service寄宿在控制台应用程序中并配置终结点并通过HTTP-GET发布元数据:

using (var host = new ServiceHost(typeof (Service1),
                                              new Uri("http://localhost:8888/Service1")))
            {
                host.AddServiceEndpoint(typeof (IService1), new BasicHttpBinding(), string.Empty);
                    //address为string.Empty直接使用基地址
                var metadataBehavior =
                    host.Description.Behaviors.Find<ServiceMetadataBehavior>(); //指定元数据行为以便发布元数据
                if (metadataBehavior == null) //必须要判断是为空
                {
                    metadataBehavior = new ServiceMetadataBehavior
                        {
                            HttpGetEnabled = true //将HttpGetEnabled设为true
                        };
                    host.Description.Behaviors.Add(metadataBehavior);
                }
                host.Opened += delegate
                    {
                        Console.WriteLine("服务已经启动");
                    };
                host.Open();
                Console.Read();
            }

  

客服端代理服务:

 using (var factory =
                new ChannelFactory<IService1>(new BasicHttpBinding(),
                                              new EndpointAddress("http://localhost:8888/Service1")))
            {
                IService1 channelproxy = factory.CreateChannel();
                using (channelproxy as IDisposable)
                {
                    Console.WriteLine(channelproxy.GetData(55555));
                }
                Console.Read();
            }

注意宿主配置的终结点必须和客服端配置的终结点地址要保持一致,否则无法找到终结点而报异常。

转载于:https://www.cnblogs.com/objectboy/p/3767312.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值