码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-05-26 13:57:10      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

如何做到不安装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();      

          }

    }    

}

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

标签:

原文地址:http://www.cnblogs.com/HZXBlog/p/4530278.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!