zoukankan      html  css  js  c++  java
  • WCF框架基础(二)

    WCF协定以及服务逻辑实现之后,如果客户端能够对其进行调用,则需要将上文的服务协定运行起来,运行服务协定需要创建服务终结点、地址、激活元数据交换、以及最终的服务启动和停止功能

    1.创建基本地址和服务主机

     Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/Service");//创建基本地址
     ServiceHost selfHost = new ServiceHost(typeof(CalculatorService),baseAddress);//创建服务主机

    2.添加服务终结点

     selfHost.AddServiceEndpoint(typeof(IService), new WSHttpBinding(), "CalculatorService");//参数分别为接口类型、传输协议、服务名称

    3.启动元数据交换

             ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
             smb.HttpGetEnabled = true;//启用HttpGet
             selfHost.Description.Behaviors.Add(smb);//添加元数据

    4.启动和终止WCF服务

              selfHost.Open();
              Console.WriteLine("服务已启动.");
              Console.WriteLine("按Enter终止服务.");
              Console.WriteLine();
              Console.ReadLine();
              selfHost.Close();

    至此服务就能运行起来 完整代码如下

      static void Main(string[] args)
            {
                Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/Service");
                ServiceHost selfHost = new ServiceHost(typeof(CalculatorService),baseAddress);
                try
                {
                    selfHost.AddServiceEndpoint(typeof(IService), new WSHttpBinding(), "CalculatorService");
                    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                    smb.HttpGetEnabled = true;
                    selfHost.Description.Behaviors.Add(smb);
                    selfHost.Open();
                    Console.WriteLine("服务已启动.");
                    Console.WriteLine("按Enter终止服务.");
                    Console.WriteLine();
                    Console.ReadLine();
                    selfHost.Close();
                }
                catch(CommunicationException e)
                {
                    Console.WriteLine("异常:{0}",e.Message);
                    selfHost.Abort();
                }
            }

    在WCF客户端创建和调用时 必需保持该服务在启动状态

  • 相关阅读:
    SQL Server 创建用户报错:消息 15023,级别 16,状态 1,第 1 行 用户、组或角色 'XXX' 在当前数据库中已存在。
    Win10安装sqlserver2014打开显示黑色界面,mardown打开显示报错
    Centos7磁盘超过2TB使用parted命令分区
    Html5學習重點清單
    jQuery源码学习扒一扒jQuery对象初使化
    jQuery源码学习
    算法排序之插入排序
    算法排序之冒泡排序
    Sublime Text 3 安装
    css布局你该了解的
  • 原文地址:https://www.cnblogs.com/akingyao/p/2673293.html
Copyright © 2011-2022 走看看