zoukankan      html  css  js  c++  java
  • 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工具完成对服务宿主的安装(也可以通过安装包的自定义操作完成)。若要完成对服务宿主的安装,我们还需要创建它的安装程序.
  • 相关阅读:
    简单修改 MySQL 的 root 账号密码
    树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置
    [原创] JavaScript 图片放大镜插件 enlarge.js 以及移动版 enlarge.touch.js
    丢掉 WinPE,使用 DISKPART 来分区吧
    【原创】只用 HTML / CSS 画出一把 UKULELE(夏威夷四弦吉他)
    用网页模拟手机(安卓)通知列表中的「清除」效果
    关于 Google Chrome 中的全屏模式和 APP 模式
    简单好用的 AJAX 上传插件,还可以抛弃难看的 file 按钮哦~
    C# 操作 Excel 常见问题收集和整理(定期更新,欢迎交流)
    C++:几种callable实现方式的性能对比
  • 原文地址:https://www.cnblogs.com/robyn/p/3781304.html
Copyright © 2011-2022 走看看