将WCF寄宿到windows 服务中

最近在看关于WCF的东西,动手写了个简单的例子,一切都很顺利,但我想把wcf寄宿到windows服务时耗费了时间。因不常做这类把应用程序寄宿到服务中,特此记录下。

  1. 首先保证要寄宿的wcf服务可以正常运行
  2. 在解决方案中右键->添加 一个windows服务,我这里取名为WcfServices,默认有一个Service1.cs的文件,里面有两个重写的方法,在OnStart中加入启动服务的代码,如下图
    这里写图片描述
  3. 在Services1的设计页面,右键->添加安装程序,在WcfServices的目录下会多出一个ProjectInstaller.cs文件,可在这个文件的设计页面,设置serviceInstaller1和serviceProcessInstaller1的属性,当让也可以在代码中设置。
  4. 将wcf所需的配置加到app.config中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <system.serviceModel>
        <services>
            <service behaviorConfiguration="Calculator" name="Services.Calculator">
                <host>
                    <baseAddresses>
                        <add baseAddress="http://127.0.0.1:8888/Services/"/>
                    </baseAddresses>
                </host>
                <endpoint address="" binding="basicHttpBinding" contract="Contracts.ICalculator" />
            </service>
        </services>
        <behaviors>
            <serviceBehaviors>
                <behavior name="Calculator">
                    <serviceMetadata httpGetEnabled="true"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>
  1. windows 服务在vs中不能直接F5运行,我们编译后,用命令将其加入到windows服务中。
  2. 用管理员身份运行cmd,转到以下目录这里写图片描述
  3. 运行 installUtil E:\WcfService\WcfServices\bin\Debug\WcfServices.exe (这是要寄宿的服务路径),这样就可以在windows服务中看到加进去的服务了这里写图片描述
  4. 直接启动就ok了
  5. 测试一下,在ie下访问http://127.0.0.1:8888/Services/(这个是wcf服务地址),如果看到下面的页面就表示服务启动成功了
    这里写图片描述
    PS:如要卸载此服务,执行installUtil -u E:\WcfService\WcfServices\bin\Debug\WcfServices.exe 即可,执行完成后若要再安装,需先关闭服务对话框,不然会报该服务被标记为删除之类的错误
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值