• WCF之Host宿主


    • Self_hosting自托管宿主.
      • 过程:手动创建Host实例,把服务端点添加到Host实例上,把服务接口与Host关联.
      • 一个Host只能指定一个服务类型,但是可以添加多个服务端点,也可以打开多个Host.其中,Typeof(..)就是配置中的<Service Name=..>.
      • 在通常的企业应用中,我们很少会采用自宿主方式托管服务,这是因为这种方式必须要在应用程序运行下,客户端才能够调用服务,且并不便于随时启动和停止服务。除了不具有易用性与易管理性之外,在可靠性、性能等诸多方面受到很多限制。但由于它简单、易于实现,因而往往用于开发期间的调试或演示环境。
      • 自托管宿主支持所有的绑定.
    • 事件/服务.
      • 行为:宿主与服务的交流互操作.OnOpen/Host.Description.Behaviors.Add(…)).
    • IIS/WAS宿主.
      • IIS提供宿主的实例,只需在.SVC文件中声明一个服务类型(@ServiceHost Service=…)就可以了,Self-hosting为一个可执行程序,其端点可以直接设置,但是IIS/WAS端点与.svc文件相关联.
      • IIS的宿主,是通过内核的http.sys监听.所以只能处理Http请求.
      • 服务分到不同的APP Domain 中,一次的恶意攻击,只会影响一个服务实例,而对于self-hosting,导致程序崩溃.
      • WASIIS7的扩展.可以处理各种格式的文件.
    • Windows应用程序.
      • Form/WPF带有UI的宿主,安装在客户端主机上,在客户端主机上暴露服务.
      • 因为此种服务需要对宿主进行一些UI操作.服务Host需要手动打开,如果在非UI线程上打开,服务操作会在新线程上,如果在UI线程上,自动加入该UI线程.
      • 要注意线程上下文的同步.
    • Windows服务.
      • 用于无人值守的主机,也可以部署到客户端主机上,主机启动时,宿主环境初始化,发生错误时重启.
      • 它便于管理者方便地启动或停止服务,且在服务出现故障之后,能够重新启动服务。
      • 我们还可以通过Service Control Manager(服务控制管理器),将服务设置为自动启动方式,省去了服务的管理工作。
      • 此外,Windows Services自身还提供了一定的安全性以及检测机制和日志机制。
      • 如果在企业应用中要使用WCF技术,最佳的宿主方式就是Windows Services,尤其是服务器的操作系统不是Vista的情况之下。
      • 它便于服务的管理,能够维持服务长时期的运行,同时它还支持所有的绑定,因而受到的限制最小。
      • 然而,这种方式唯一的缺点却是对宿主的部署相对比较复杂,必须通过.NET提供的Installutil.exe工具完成对服务宿主的安装(也可以通过安装包的自定义操作完成)。若要完成对服务宿主的安装,我们还需要创建它的安装程序.
  • 相关阅读:
    CentOS下crontab执行java程序
    大数据学习总结(1)任务描述
    敏捷开发总结(2)开发过程活动
    敏捷开发总结(1)软件研发过程
    持续集成(4)工具对比
    持续集成(2)整体流程
    持续集成(1)概念模型
    用户画像(3)用户画像的建模方法-事实标签
    用户画像(2)构建用户画像的数据源
    用户画像(1)用户画像的概念、意义和目标
  • 原文地址:https://www.cnblogs.com/robyn/p/3781304.html
Copyright © 2020-2023  润新知