WCF服务库实现自托管,无需装iis

如何做到不安装iis的情况下,

实现客户端与服务器的数据交互?

 

业务背景:

1、省了销售人员或者客服人员需要在客户端配置iis问题、发布站点操作

2、后期为实现单机板客服端也能较为快捷方便

服务端:

首先我们需要创建WCF服务库

默认的服务库中已有Service(实现类)与IService (接口类)

顾名思义,实现类是处理逻辑使用,接口类是提供给外部调用的类

重点:

1、创建服务托管类,创建个静态无返回值Main方法(此方法名固定不变)

2、引用System.ServiceModel

3、创建服务主机类ServiceHost对象host(此处需注意的是ServiceHost没有无参的构造函数,所以我们需要在其方法中配置参数,参数1:服务类是哪个,例如: typeof(Service1),参数2:地址配置(不传也可),在app.config已默认配置,例如:<add baseAddress = "http://192.168.1.120:8733/Design_Time_Addresses/WCFtest2/Service1/" />),端口默认配置,请勿擅自修改,避免出错。

4、开启主机环境host.Open();

5 阻止主机关闭Console.ReadKey();

做完以上操作后右击类库->属性->应用程序->输出类型,选择为控制台应用程序

保存,重新生成即可

最后:在服务器里配置此exe文件,双击运行即可

后期操作:

<behaviors>

      <serviceBehaviors>

        <behavior>

          <!-- 为避免泄漏元数据信息,

          请在部署前将以下值设置为 false -->

          <serviceMetadata httpGetEnabled="True"/>

          <!-- 要接收故障异常详细信息以进行调试,

          请将以下值设置为 true。在部署前设置为 false

          以避免泄漏异常信息 -->

          <serviceDebug includeExceptionDetailInFaults="False" />

        </behavior>

      </serviceBehaviors>

    </behaviors>

 

其实代码就:

using System.ServiceModel;  

   public class 服务托管类   

  {       

    static void Main(){        

       using (ServiceHost host = new ServiceHost(typeof(Service1))){   

     //开启主机环境             

      host.Open();

              Console.WriteLine("s1启动");

     Console.ReadKey();      

          }

    }    

}

转载于:https://www.cnblogs.com/HZXBlog/p/4530278.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值