zoukankan      html  css  js  c++  java
  • WCF(四)windows服务寄宿

    WCF常用的寄宿方式除了IIS寄宿外,还有一种方式是寄宿到windows服务中,跟随系统启动而启动。

    1、在项目中选择“添加”--“新建windows服务”

    2、打开系统生成的设计界面的代码,引用“using System.ServiceModel;”和WCFService、WCFServer、WCFModel三个项目文件

    3、设计界面代码编写和app.config配置文件如下:

    namespace WCFService.WindowsService
    {
        public partial class CalculatorServer : ServiceBase
        {
            public ServiceHost Host { get; set; }
    
            public CalculatorServer()
            {
                InitializeComponent();
            }
    
            protected override void OnStart(string[] args)
            {
                if (Host != null)
                {
                    Host.Close();
                }
                Host = new ServiceHost(typeof(Calculate));
                Host.Open();
            }
    
            protected override void OnStop()
            {
                if (Host != null)
                {
                    Host.Close();
                    Host = null;
                }
            }
        }
    }
    

    配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="CaclulaterBehavior">
              <serviceMetadata httpGetEnabled="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <services>
          <service behaviorConfiguration="CaclulaterBehavior" name="WCFService.Calculate">
            <endpoint address="http://127.0.0.1:9999/Calculate" binding="wsHttpBinding"
                bindingConfiguration="" contract="WCFService.ICalculate" />
            <host>
              <baseAddresses>
                <add baseAddress="http://127.0.0.1:9999/Calculate" />
              </baseAddresses>
            </host>
          </service>
        </services>
      </system.serviceModel>
    </configuration>
    

    4、回到设计界面,右键--“添加安装程序”,生成“ProjectInstaller.cs”文件

    6、选中serviceInstaller1属性设计器,修改相应属性。

    7、选中serviceProcessInstaller1,打开属性设计器

    8、生成一下。在windows服务项目的bin/debug文件夹下会产生可执行文件。将整个debug文件拷贝到E盘。

    9、执行安装。打开vs开发人员命令提示对话框,定位到E盘debug文件下。输入“InstallUtil E:DebugWCFService.WindowsService.exe”,完成安装。

    10、在“管理工具”中打开“服务”,可以找到安装的服务。

    11、双击,在弹出的对话框中点击“启动”,即可

    12、运行客户端,可以得到想要的结果。

    备注:

       卸载服务命令:InstallUtil.exe -u WCFService.WindowsService.exe

  • 相关阅读:
    数据库访问表的问题
    UVA 10943全加和(规律)
    POJ 2594 最小路径覆盖 + 传递闭包
    phonegap入门7 capture.captureVideo 录像
    第二部分 Linux Shell高级编程技巧——第二章 Shell工具
    C#写的光模块烧写软件
    关于java的++和操作符,你真的搞明白了吗?
    MFCATL IDispatch调度接口
    c/c++函数调用约定
    HDOJ 2955 Robberies (0/1背包)
  • 原文地址:https://www.cnblogs.com/sunice/p/6594732.html
Copyright © 2011-2022 走看看