wcf入门教程之在.net471中创建一个使用tcp网络协议的wcf windows服务进程

wcf已经发行了很久的时间,可能还有需要入门wcf的朋友,我这里专门写了一个教程来分享给大家!


如上图所示,新建一个WCF服务库项目,打开VS->新建项目->WCF->WCF服务库,名字我们就使用默认的WcfServiceLibrary1,


创建项目成功之后,我们在【解决方案资源管理器】中选中刚才新建项目的的app.config


右键app.config选择编辑WCF配置,


如果没有编辑WCF配置选项,我们选择 vs菜单项【工具】-> WCF服务配置编辑器,打开之后,再选择app.config,打开编辑项就可以了。


打开app.config的wcf编辑器之后,选择 服务->终结点->第一个空名称->终结点属性,将binding项,改成netTcpBinding


将第二个空名称,binding项,改成mexTcpBinding


选择主机->基址(选中)->点击编辑,改成net.tcp//localhost:8523/Service1/


然后选择服务行为->serviceMetadata(服务元数据)->将HttpGetEnabled和HttpsGetEnabled设置成False

保存配置。


然后在解决方案中选择新建项目->windows服务,使用默认名称WindowsService1,创建一个windows服务项目

在解决方案资源管理管理器中,选择Service1.cs右键选择查看设计器


进入设计界面,选择添加安装程序,项目会自动添加一个ProjectInstaller.cs文件,

选择ProjectInstaller.cs文件,选择serviceProcessInstaller1


在serviceProcessInstaller1右下角属性里面,选择Account项改成NetworkService(网络服务)


选择serviceInstaller1,将StartType项改成Automatic(自动启动)


在解决方案资源管理器中选择Service1.cs,右键选择查看代码

将代码改为如下

  public partial class Service1 : ServiceBase
    {
        internal static ServiceHost myServiceHost = null;
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            if (myServiceHost != null)
            {
                myServiceHost.Close();
            }
            myServiceHost = new ServiceHost(typeof(Service1));
            myServiceHost.Open();
        }

        protected override void OnStop()
        {
            if (myServiceHost != null)
            {
                myServiceHost.Close();
                myServiceHost = null;
            }
        }
    }

编译成功之后,选择windows开始菜单,选择vs命令行


使用D: 或者C:

切换磁盘,使用cd命令跳转到指定文件夹

使用Installutil WindowsService1.exe 命令安装服务

使用Installutil /u WindowsService1.exe命令卸载服务 




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫敏璋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值