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();
    }
  • 相关阅读:
    发送电子邮件
    PHP Session
    Cookie
    Python基础语法
    Python中文编码
    Python简介
    PHP文件上传
    基于1.22.1版本的k8s部署
    k8s基于NFS创建动态存储StorageClass
    关于在k8s-v1.20以上版本使用nfs作为storageclass出现selfLink was empty, can‘t make reference
  • 原文地址:https://www.cnblogs.com/wujy/p/2921688.html
Copyright © 2011-2022 走看看