WCF服务自我寄宿 Windows服务
WCF寄宿有自我寄宿跟IIS寄宿
服务代码:
[ServiceContract] ---服务契约
public interface ICustomerService
{
[OperationContract]
string GetCusomerName(string customercode); [OperationContract]
Customer GetCustomer(Customer customer); [OperationContract]
List<Customer> GetAllCustomerList();
}
public class CustomerService:ICustomerService
{
public string GetCusomerName(string customercode)
{
return "惠森药业有限公司";
} public Customer GetCustomer(Customer customer)
{
return new Customer()
{
id = ,
CustomerName = "惠森药业有限公司",
CusomerAddres = "新疆",
CusomerPhone = ,
Remark = "无"
};
} public List<Customer> GetAllCustomerList()
{
List<Customer> cus = new List<Customer>();
cus.Add(new Customer()
{
id = ,
CustomerName = "惠森药业有限公司",
CusomerAddres = "新疆",
CusomerPhone = ,
Remark = "无"
});
cus.Add(new Customer()
{
id = ,
CustomerName = "黄河药业有限公司",
CusomerAddres = "新疆",
CusomerPhone = ,
Remark = "无" });
cus.Add(new Customer()
{
id = ,
CustomerName = "长江药业有限公司",
CusomerAddres = "新疆",
CusomerPhone = ,
Remark = "无" });
return cus;
}
}
//安装类
[RunInstaller(true)]
public class ProjectInstaller:Installer
{
private readonly ServiceProcessInstaller _process;
private readonly ServiceInstaller _service; public ProjectInstaller()
{
_process = new ServiceProcessInstaller
{
//账户类型
Account = ServiceAccount.LocalSystem
};
_service = new ServiceInstaller
{
//服务名称
ServiceName = "WCF.ServiceHostByWindowService",
//服务描述
Description = "WCF服务宿主在WindowService"
};
base.Installers.Add(_process);
base.Installers.Add(_service);
}
} /// <summary>
/// Windwos服务
/// </summary>
public class WindowService : ServiceBase
{
public ServiceHost serviceHost = null; //服务宿主 public WindowService()
{
base.ServiceName = "WCF.ServiceHostByWindowService";
}
//启动服务
protected override void OnStart(string[] args)
{
if (serviceHost != null)
{
serviceHost.Close();
}
serviceHost = new ServiceHost(typeof(WCFHostSelf.CustomerService));
serviceHost.Open();
// serviceHost.Opening+=
base.OnStart(args);
}
//停止服务
protected override void OnStop()
{
if (serviceHost != null)
{
serviceHost.Close();
serviceHost = null;
}
base.OnStop();
}
//运行
public static void Run()
{
ServiceBase.Run(new WindowService());
}
}
控制台程序:
class Program
{
static void Main(string[] args)
{
WindowService ser = new WindowService();
WindowService.Run();
}
}
然后以管理员运行命令窗口:
然后运行:如果出现下面的效果 运行成功了
然后到系统服务中去查找服务:
然后启动服务。服务启动之后在VS里添加服务引用:
WCF 寄宿到Window服务完成了。。、
在注册表删除服务:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 然后找到服务名称 删除掉 电脑重新启动之后就可以了。
WCF服务自我寄宿 Windows服务的更多相关文章
- WCF寄宿windows服务一
如果只是寄宿单个wcf服务,方法很简单,步骤:1.创建好一个windows服务.关于windows服务内容见:http://www.cnblogs.com/zhaow/p/7866916.html2. ...
- 玩转Windows服务系列——给Windows服务添加COM接口
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...
- 玩转Windows服务系列——创建Windows服务
创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...
- 玩转Windows服务系列——创建Windows服务
原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...
- 创建WCF服务自我寄宿
WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...
- WCF服务自我寄宿
WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...
- 微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务
WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便.高效提供服务调用.本文分别对这几种方式进行详 ...
- WCF(四)windows服务寄宿
WCF常用的寄宿方式除了IIS寄宿外,还有一种方式是寄宿到windows服务中,跟随系统启动而启动. 1.在项目中选择“添加”--“新建windows服务” 2.打开系统生成的设计界面的代码,引用“u ...
- WCF寄宿windows服务二
如果有很多WCF服务需要寄宿,需要额外做一些工作:总体思路是:先把这些WCF服务的程序集打包,然后利用反射加载各个WCF服务的程序集,按顺序一个一个寄宿.先来看看我们需要寄宿的WCF服务: 实现步骤: ...
随机推荐
- 使用EntityFramework6连接MySql数据库(db first方式)
准备工具: VS2013.MySQL For VisualStudio 1.1.4.Connector/Net 6.8.3(百度网盘里) 程序包管理器执行命令: Install-Package Ent ...
- Linux堆内存管理深入分析(上)
Linux堆内存管理深入分析(上半部) 作者:走位@阿里聚安全 0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞 ...
- 初试ASP.NET Web API/MVC API(附Demo)
写在前面 HTTP RESTful 创建Web API 调用Web API 运行截图及Demo下载 ASP.NET Web API是一个框架,可以很容易构建达成了广泛的HTTP服务客户端,包括浏览 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- struts2+spring+hibernate 实现分页
在这里要感谢下这位博友发表的博文 http://www.blogjava.net/rongxh7/archive/2008/11/29/243456.html 通过对他代码的阅读,从而自己实现了网页分 ...
- 冒烟测试 smoking test
冒烟测试的概念: 版权声明:本文为博主原创文章,未经博主允许不得转载. 冒烟测试既是对软件基本的功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本的功能正常,保证软件系 ...
- salesforce 零基础学习(四十八)自定义列表分页之Pagination基类封装 ※※※
我们知道,salesforce中系统标准列表页面提供了相应的分页功能,如果要使用其分页功能,可以访问http://www.cnblogs.com/zero-zyq/p/5343287.html查看相关 ...
- storm 集群配置
配置storm集群的过程中出现写问题,记录下来 1.storm是通过zookeeper管理的,先要安装zookeeper,从zk官网上下来,我这里下下来的的3.4.9,下载后移动到/usr/local ...
- js深浅复制
一.数组的深浅拷贝 <body> <script type="text/javascript"> var arr = ["One",&q ...
- 有关binlog的那点事(mysql5.7.13)
binlog作为mysql中最重要的日志之一,能实现异常恢复以及主从复制. 我们主要讨论的是主从复制中的binlog,这里将以mysql5.7.13的源码为主要依据来分析binlog. 在主从复制中, ...