• WCF-复杂配置


      两种模式,一个契约两个实现,两个契约一个实现。

    服务类库

    宿主

    static void Main(string[] args)
            {
                ServiceHost sh1 = new ServiceHost(typeof(WCFComplexLib.OneImpTowInt.People));
                sh1.Open();
                Console.WriteLine("一个实现两个接口服务开启");
                ServiceHost sh2 = new ServiceHost(typeof(WCFComplexLib.OneIntTowImp.Student));
                sh2.Open();
                Console.WriteLine("一个接口两个实现  学生服务开启");
                ServiceHost sh3 = new ServiceHost(typeof(WCFComplexLib.OneIntTowImp.Teacher));
                sh3.Open();
                Console.WriteLine("一个接口两个实现  老师服务开启");
                Console.ReadKey();
            }

    服务端配置文件

    <system.serviceModel>
        <services>
          <!--两个契约一个实现服务-->
          <service behaviorConfiguration="customBehavior" name="WCFComplexLib.OneImpTowInt.People">
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:6001/"/>
              </baseAddresses>
            </host>
            <endpoint address="OneImpTowIntPeopleStudent" binding="basicHttpBinding" contract="WCFComplexLib.OneImpTowInt.IStudent"></endpoint>
            <endpoint address="OneImpTowIntPeopleTeacher" binding="basicHttpBinding" contract="WCFComplexLib.OneImpTowInt.ITeacher"></endpoint>
          </service>
          
          <!--两个实现一个契约  学生服务-->
          <service behaviorConfiguration="customBehavior" name="WCFComplexLib.OneIntTowImp.Student">
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:6002/" />
              </baseAddresses>
            </host>
            <endpoint address="OneIntTowImpStudent" binding="basicHttpBinding" contract="WCFComplexLib.OneIntTowImp.IPeople"></endpoint>
          </service>
    
          <!--两个实现一个契约  老师服务-->
          <service behaviorConfiguration="customBehavior" name="WCFComplexLib.OneIntTowImp.Teacher">
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:6003/" />
              </baseAddresses>
            </host>
            <endpoint address="OneIntTowImpTeacher" binding="basicHttpBinding" contract="WCFComplexLib.OneIntTowImp.IPeople"></endpoint>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="customBehavior">
              <serviceMetadata httpGetEnabled="True"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    客户端

            static void Main(string[] args)
            {
                OneImpTwoIntPeople.StudentClient oitnps = new OneImpTwoIntPeople.StudentClient();
                Console.WriteLine(oitnps.GetStudentName(1));
    
                OneImpTwoIntPeople.TeacherClient oitnpt = new OneImpTwoIntPeople.TeacherClient();
                Console.WriteLine(oitnpt.GetTeacherName(1));
    
                OneIntTowImpStudent.PeopleClient oitisp = new OneIntTowImpStudent.PeopleClient();
                Console.WriteLine(oitisp.GetPeopleName(1));
                OneIntTowImpTeacher.PeopleClient oititp = new OneIntTowImpTeacher.PeopleClient();
                Console.WriteLine(oititp.GetPeopleName(1));
    
                Console.ReadKey();
            }

    源码下载

  • 相关阅读:
    水煮栗子
    张至顺道长羽化登仙+说修行(道经每日清修)
    治疗口腔溃疡的穴位按摩方法
    一年四季的时令蔬菜水果表
    坐式养生八段锦口诀及练法图解
    SOA建设规划
    生鲜电商业务流程规划
    产品定义到产品推广的思路
    生鲜财务核算
    税率与存货、供应商关系
  • 原文地址:https://www.cnblogs.com/wudequn/p/7088948.html
Copyright © 2020-2023  润新知