zoukankan      html  css  js  c++  java
  • WCF 第七章 寄宿

    一个服务宿主就是用来管理一个WCF服务的生命周期和上下文服务的一个操作系统进程。服务宿主,或者仅称为”宿主”,负责启动和停止WCF服务并提供一些基本的管理函数来控制WCF服务。除了这方面,宿主对运行在它的内存空间里的WCF服务知道的很少。

      任何操作系统进程都可以是一个服务宿主。IIS和Windows 进程激活服务(WAS)有内建的可以让这个过程简单的结构。与ASP.NET 一起,它们提供一个公共的服务寄宿环境。除了IIS和WAS,你可以在一个与操作系统一起启动/停止的Windows托管服务(NT 服务)中寄宿服务。你可以在一个当前窗体最大化的正在运行的Windows应用程序或者最小化到系统托盘的应用程序中寄宿服务,或者你可以在一个运行在系统控制台的自定义控制台程序中寄宿一个服务。如果不考虑你是如何寄宿一个服务的,那么配置一个服务地址的方法,绑定,契约和行为将会基本一样。

      为一个服务选择最合适的寄宿环境应该基于一个操作需求,比如可用度,可信赖性和管理能力。例如,在一个Windows托管服务中寄宿服务可以提供一个大多数Windows系统管理员都熟悉的启动和停止服务接口。在一个运行在桌面的Windows应用程序中寄宿服务,在另一种层面上说,可以为大多数终端用户提供一个很熟悉的接口。如果同样不考虑寄宿环境,那么WCF编程模型没有什么改变。事实上,只有开发人员可以不用明确的关注服务的绑定或者地址来设计并实现一个服务,开发人员也可以对宿主环境不熟悉。

      所有的宿主要求做三件事情: 从System.ServiceModel实例化一个ServiceHost类,为宿主添加终结点,开始监听消息。列表7.1中的逻辑是在你自己的程序中寄宿一个服务的核心逻辑。当在IIS或者WAS中寄宿时这个逻辑也会自动提供。

    列表7.1 寄宿一个服务的基本逻辑

    ServiceHost myHost = new ServiceHost(typeof(MyService));
    myHost.AddServiceEndpoint(typeof(IMyService), someBinding, someUri);
    myHost.Open();

    在这一章,我们主要详细说明寄宿服务的常用技术。对IIS来说,寄宿技术非常简单并已经在第一章”基础”中描述。特别的,我们将详细说明新的Windows进程激活服务进程(WAS)如何与IIS基础架构关联。我们也将介绍在NT服务中的自我寄宿服务和客户端应用程序。


    作者:DanielWise
    出处:http://www.cnblogs.com/danielWise/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/danielWise/p/1914768.html
Copyright © 2011-2022 走看看