创建寄宿在Windows服务中的WCF服务
1、创建Windows服务项目
2、Server1改名为你想要的名称,比如WinServer
3、在项目中新建一个WCF文件夹,用于存放wcf服务文件。
注:在WcfServer类的上面还要添加 [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
4、WCF服务文件建好后,系统会添加一个App.config的文件,打开此文件,我们进行相应的修改。
我们修改baseAddress地址: <add baseAddress="http://localhost:8733/Service/" />
5、在WCF服务文件中添加自己的业务类,我这里只演示了一个写日志的操作。
1)windows服务启动后,如果WCF服务DoWork接口被调用后,会触发我写的那个timer ,timer每隔5秒执行一次,并将timer实例传送到Business类中去。
2)Business里面是个写日志的操作,将时间写入txt文件中。当文件大于1024*1024*2时。timer结束执行。
6、将WCF服务写入Windows服务的入口处,同时注意将windows服务名称定义好。
7、WinService的设计页面中,右击“添加安装程序”
8、系统会添加ProjectInstaller.cs文件。
9、右击“serviceProcessInstaller1” --属性 Account 选择 “LocalSytem”
10、右击“serviceInstaller1” ---属性 Description 和属性DisplayName
注意ServiceName服务名称,与上面WinServer里面服务名称一致
11、重新生成项目,debug和release模式自己任选。
12、打开bin文件夹debug/release下面。
将C:\Windows\Microsoft.NET\Framework\v4.0.30319下面的InstallUtil.exe 复制过来
13、新建“安装服务.bat”,“卸载服务.bat” 批处理文件。
卸载服务内容
%~dp0InstallUtil.exe /uninstall %~dp0WindowsServiceForWCFDemo.exe
pause
安装服务内容
%~dp0InstallUtil.exe %~dp0WindowsServiceForWCFDemo.exe
pause
注意:%~dp0 是代表当前路径。
14、以管理员身份运行安装服务.bat进行安装服务。
注意:必须是管理员身份,不然会安装不成功的。
现在我们打开服务看下有没有,看到没,安装成功了。现在我们再来启动一下,就可以用了。
15、下面我们访问 一下WCF服务地址: http://localhost:19015/Service/
好了,可以访问了。
16、我们再搞个客户端,调用 一下那个接口,看看能否打印出日志文件。
Demo源码下载
链接:http://pan.baidu.com/s/1hr7vaio 密码:fww3
OK。打完收功~
创建寄宿在Windows服务中的WCF服务的更多相关文章
- WCF分布式4:客户端访问寄宿在IIS中的WCF服务
部署过程比较简单,新建一个站点,指向服务的物理路径,设置一个端口.即可. 新建的站点对应一个应用程序池,设置应用程序池中的.NET版本为4.0 写一个测试客户端,访问IIS中的WCF服务,可能会出现, ...
- SharePoint 2013 中自定义WCF服务
在使用SharePoint2013的时候,如果其他客户端 API 的组合不足,可以通过自定义 Web 服务扩展 SharePoint.默认情况下,SharePoint 2013 不仅支持创建自定义 A ...
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
原文:WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务 在<基于IIS的WCF服务寄宿(Hosting)实现揭秘>中,我们谈到在采用基于IIS(或者 ...
- iPhone中调用WCF服务
本文介绍的是跨平台iPhone中调用WCF服务,WCF是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由 .NET Framework 3.0+开始引入 iPhone中调用WC ...
- WCF系列教程之WCF服务宿主与WCF服务部署
本文参考自http://www.cnblogs.com/wangweimutou/p/4377062.html,纯属读书笔记,加深记忆. 一.简介 任何一个程序的运行都需要依赖一个确定的进程中,WCF ...
- 服务端增加WCF服务全局异常处理机制
服务端增加WCF服务全局异常处理机制,任一WCF服务或接口方式出现异常,将统一调用WCF_ExceptionHandler.ProvideFault方法,因此不需要每个方法使用try catch写法. ...
- 宿主在Windows Service中的WCF(创建,安装,调用) (host到exe,非IIS)
1. 创建WCF服务 在vs2010中创建WCF服务应用程序,会自动生成一个接口和一个实现类:(IService1和Service1) IService1接口如下: using System.Ru ...
- Azure开发者任务之七:在Azure托管服务中托管WCF服务角色
在一个托管服务中托管一个WCF服务角色和托管一个ASP.Net Web Role基本类似. 在上一篇文章中,我们学习了如何使用WCF Service Web Role. 在本文中,我会对上一篇文章进行 ...
- 在 IIS 中承载 WCF 服务
本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤. 本主题假设您熟悉 IIS 且了解 ...
随机推荐
- 問題排查:类型“System.DateTime”的对象无法转换为类型“System.String”
最近在擴充資料對接工具的功能 經常會遇到這個狀況 當然還有其他同類提示,例如 int/decimal 無法轉 System.String 等等 無獨有偶 這些錯誤幾乎都是在 DataTable 轉換成 ...
- double四舍五入,double四舍五入并转成string
import java.math.BigDecimal; /** * 处理一些数据类型的方法的java类 * @author ljb * */public class NumberTools { /* ...
- 【Docker 在 windows 10 / windows 8 下安装】
步骤: 1. 下载: a.https://github.com/boot2docker/windows-installer/releases 下载一个 windows 客户端: 安装时建议勾选:Boo ...
- 近期微博吐槽言论存档,涉及“性能优化”、C++陋习等
写C++程序的几个陋习:class 名以大写 C 开头,例如 CDate:成员变量以 m_ 开头:变量采用匈牙利命名法:不知道何时禁用 copy-ctor/assign operator.前三个可能是 ...
- C++链接两个cpp 文件
我们在编程中,有没有想过,分别写代码,然后把两个cpp,文件合并,两个自身本不能运行的文件,在一起却可以运行(主要牵扯函数调用,一个有声明和调用,另一个定义).那么具体如何实现呢? 跟着我的步骤: 1 ...
- sublime配置coffeeScript
node.js 全局模块所在目录 npm -g ls 1.安装 npm install -g coffee-script 2.sublime安装CoffeeScript sublime语法高亮插件 ...
- jQuery与其他JS库共存
* 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$&qu ...
- Windows Desktop 调用 WinRT api
<Reference Include="Windows"> <HintPath>..\..\..\..\..\..\Program Files (x86)\ ...
- Python小练习五
# 一个简单的数据库 # 字典使用人名作为键.每个人用另一个字典来表示,其键'phone'和'addr'分别表示它们的电话号码和地址. people = { 'Alice':{ ', 'addr': ...
- 解决mac安装grunt时出现[command not found]的错误
第一步: 1先确定一下.bash_profile是否存在. 2在mac终端输入: test -e .bash_profile && echo "found" || ...