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服务的更多相关文章

  1. WCF寄宿windows服务一

    如果只是寄宿单个wcf服务,方法很简单,步骤:1.创建好一个windows服务.关于windows服务内容见:http://www.cnblogs.com/zhaow/p/7866916.html2. ...

  2. 玩转Windows服务系列——给Windows服务添加COM接口

    当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...

  3. 玩转Windows服务系列——创建Windows服务

    创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...

  4. 玩转Windows服务系列——创建Windows服务

    原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...

  5. 创建WCF服务自我寄宿

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  6. WCF服务自我寄宿

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  7. 微软 WCF的几种寄宿方式,寄宿IIS、寄宿winform、寄宿控制台、寄宿Windows服务

    WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便.高效提供服务调用.本文分别对这几种方式进行详 ...

  8. WCF(四)windows服务寄宿

    WCF常用的寄宿方式除了IIS寄宿外,还有一种方式是寄宿到windows服务中,跟随系统启动而启动. 1.在项目中选择“添加”--“新建windows服务” 2.打开系统生成的设计界面的代码,引用“u ...

  9. WCF寄宿windows服务二

    如果有很多WCF服务需要寄宿,需要额外做一些工作:总体思路是:先把这些WCF服务的程序集打包,然后利用反射加载各个WCF服务的程序集,按顺序一个一个寄宿.先来看看我们需要寄宿的WCF服务: 实现步骤: ...

随机推荐

  1. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. Asp.Net MVC 分页、检索、排序整体实现

    很多时候需要这样的功能,对表格进行分页.排序和检索.这个有很多实现的方式,有现成的表格控件.用前端的mvvm,用户控件.但很多时候看着很漂亮的东西你想进一步控制的时候却不那么如意.这里自己实现一次,功 ...

  3. 关于GC和析构函数的一个趣题

    这个有趣的问题感谢装配脑袋友情提供. 请看如下代码: public class Dummy { public static Dummy Instance; ; ~Dummy() { Instance ...

  4. WPF入门教程系列十六——WPF中的数据绑定(二)

    三.绑定模式 通过上一文章中的示例,学习了简单的绑定方式.在这里的示例,要学习一下绑定的模式,和模式的使用效果. 首先,我们来做一个简单示例,这个示例是根据ListBox中的选中项,去改变TextBl ...

  5. CATransition转场动画

    背景: 最近在温习动画,分享个简单系统的转场动画 viewcontroller *VC=[self.storyboard instantiateViewControllerWithIdentifier ...

  6. VS代码提示不出现或者提示变成英文或者各种奇葩问题的解决

    万能法==>重置 代码提示变成英文的了 打开开发员命令提示 输入:devenv.exe /setup /resetuserdata /resetsettings 重新打开,会和你第一次安装完毕一 ...

  7. 上传伪技术~很多人都以为判断了后缀,判断了ContentType,判断了头文件就真的安全了。是吗?

    今天群里有人聊图片上传,简单说下自己的经验(大牛勿喷) 0.如果你的方法里面是有指定路径的,记得一定要过滤../,比如你把 aa文件夹设置了权限,一些类似于exe,asp,php之类的文件不能执行,那 ...

  8. Memory Management in Open Cascade

    Open Cascade中的内存管理 Memory Management in Open Cascade eryar@163.com 一.C++中的内存管理 Memory Management in ...

  9. 将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)

    上一节 first_local_net 已经就绪,下面创建 instance 并将其连接到该网络. 将 instance 连接到 first_local_net launch 一个 instance, ...

  10. Vagrant使用

    常用命令 命令 说明 vagrant up 运行vm vagrant status 查看当前虚拟机运行状态 vagrant suspend 暂停虚拟机 vagrant ssh ssh方式登录虚拟机 v ...