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

  • 相关阅读:
    Fast AutoAugment阅读笔记
    object as point阅读笔记
    Hardware-in-the-loop End-to-end Optimization of Camera Image Processing Pipelines阅读笔记
    TP框架使用命令行
    shopee常见的刊登报错问题
    TP执行队列的命令
    正则匹配手机号码
    时间格式化转换
    使用fixed定位将元素(如按钮)悬浮在页面底部
    LNMP一键安装教程
  • 原文地址:https://www.cnblogs.com/sunice/p/6594732.html
Copyright © 2011-2022 走看看