zoukankan      html  css  js  c++  java
  • WCF中的ServiceHost初始化两种方式

    在宿主程序中初始化ServiceHost有直接写代码和使用配置文件两种方式。使用ServiceHost首先要引用System.ServiceModel 命名空间。

    1 代码方式

    using(ServiceHost host=new ServiceHost(typeof(HelloWordService)))
    {
        host.AddServiceEndpoint(typeof(IHelloWordService),
            new BasicHttpBinding(), new Uri("http://localhost:10000/HelloWorldService"));
        host.AddServiceEndpoint(typeof(IHelloWordService),
            new NetTcpBinding(), new Uri("net.tcp://localhost:10001/HelloWorldService"));
    
        if (host.State != CommunicationState.Opening)
            host.Open();
    }

    2 配置文件方式

    配置文件代码:

    <services>
      <service behaviorConfiguration="serverBehavior" name="HelloWordService">
        <endpoint address="http://localhost:10000/HelloWorldService" 
                  binding="basicHttpBinding" contract="IHelloWordService"></endpoint>
        <endpoint address="net.tcp://localhost:10001/HelloWorldService" 
                  binding="netTcpBinding" contract="IHelloWorldService"></endpoint>
      </service>
    </services>

    当然也可以使用基地址的方式来配置

    <services>
      <service behaviorConfiguration="serverBehavior" name="HelloWordService">
        <endpoint address="HelloWorldService" 
                  binding="basicHttpBinding" contract="IHelloWordService"></endpoint>
        <endpoint address="HelloWorldService" 
                  binding="netTcpBinding" contract="IHelloWorldService"></endpoint>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:10000/"/>
            <add baseAddress="net.tcp://localhost:10001/"/>
          </baseAddresses>
        </host>
      </service>
    </services>

    配置好配置文件后就宿主程序中就很简单了,如下:

    using(ServiceHost host=new ServiceHost(typeof(HelloWordService)))
    {
        if (host.State != CommunicationState.Opening)
            host.Open();
    }
  • 相关阅读:
    自学Python5.2-类和对象概念
    自学Python5.1-面向对象与面向过程
    自学Python2.1-基本数据类型-字符串str(object) 上
    自学Python2.10-跳出循环(break、continue)
    自学Python2.9-循环(while、for)
    自学Python2.8-条件(if、if...else)
    自学Python1.8-python input/print用法 格式化输出
    自学Python1.6-Centos内英文语法切换
    自学Python1.7-python变量以及类型
    自学Python1.5-Centos内python2识别中文
  • 原文地址:https://www.cnblogs.com/oec2003/p/1776565.html
Copyright © 2011-2022 走看看