在 IIS 中访问 ServiceHost
在 IIS 中承载 WCF 服务的默认行为是该 IIS 控制 ServiceHost 的实例化。这将使您无法在消息到达服务之前有启动和关闭代码。当然,无启动和关闭代码的优点是可以减少可能引起错误的代码。IIS 为您提供了在代码行方面比控制台应用程序更容易的承载环境。但是,有时仍然需要有避免此限制的手段。要在实例化 ServiceHost 时这样做并影响 IIS,可以建立您自己的工厂,用于创建自定义宿主。这样,就可以访问任何事件或改写任何方法。
为了支持自定义 ServiceHost 激活,应当实现自己的 Factory,它继承自 ServiceHostFactory,这是可以实例化自定义宿主的工厂类。提供该类是为了关联 ServiceHost 的事件。您可以使用该类并将该类型作为 Factory 属性放在 .svc 文件中,如列表 5-6 所示。通过改写 ServiceHostFactory 类的 CreateServiceHost 方法,可以执行与在自承载方案中相似的任务,第 3 章对此进行了介绍。在其他方面,这将使您能够抽象逻辑,以便从外部配置建立说明,或为要使用的基础库、项目、部门或公司创建更合适的基类。
列表 5-7 显示用于创建宿主的 TradeServiceCustomHost 和 TradeServiceCustomHostFactory 的代码。
列表 5-6:包含 CustomServiceHostFactory 的 .svc 文件
<% @ServiceHost Language="C#" Debug="true" Service="QuickReturns.StockTrading.ExchangeService.TradeService" Factory="QuickReturns.StockTrading.ExchangeService. TradeServiceCustomHostFactory" %> |
<% @ServiceHost Language="C#" Debug="true"
Service="QuickReturns.StockTrading.ExchangeService.TradeService"
Factory="QuickReturns.StockTrading.ExchangeService.
TradeServiceCustomHostFactory" %>
列表 5-7:TradeServiceCustomHostFactory 和 TradeServiceCustomHost
|
回收
在 IIS 中承载 WCF 服务时,WCF 服务可以使用 ASP.NET 应用程序的所有功能。您必须知道这些功能,因为它们会在服务世界中导致意外的行为。主要功能之一是应用程序回收,包括应用程序域回收和进程回收。通过 IIS 管理控制台,可以在希望发生回收时配置不同的规则。可以为内存、时间和请求处理数量设置某些阈值,如图 5-10 所示。当 IIS 回收工作进程时,还将回收工作进程中的所有应用程序域。通常,当基于 ASP.NET 的 Web 应用程序中的关键文件更改时,应用程序域也将回收。例如,在更改 Web.config 文件或 Bin 文件夹中的程序集时,将发生该操作。
![]() |
| 图 5-10:应用程序池回收设置 |
| 共18页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 [11] [12] [13] [14] [15] [16] [17] [18] 下一页 | |||||||||||||||||||
|
|
· 并购专家:雅虎和微软14.. · Google官员露天机 Andr.. · 微软多管齐下推广Silve.. · 在PPC上安装pythonce · WindowsMobile应该如何.. · 如何用正则删除不包含.. |
· GitHub:基于Rails的Gi.. · Django是否已经达到顶.. · 开源!数据库的新道路 · 系统服务终结者 · 服务器正常连接网络但.. · 华为与服务器网络连接.. |
|
||||
| · WCF开发基础 · 珊瑚虫QQ作者侵权案开庭 · SQL Server 2008/2005.. · 华为员工自杀频频拷问.. · 计算机网络维护入门 · 开源虚拟化技术Xen · 贝恩资本携手华为22亿.. · 如何优化IT 控制能耗 |
· VMware技术应用 · 打造安全服务器 · iSCSI应用与发展 · FTTx光纤接入 · Windows Server 2008专.. · Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · RAID——磁盘阵列基础 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 · 病毒查杀专题 |
· 国际文档格式标准开战 · SSL VPN详细知识 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 · 清除流氓软件——51CTO.. |
· SSL VPN详细知识 · Sniffer安全技术从入门.. · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 · 木马原理与防范 · 反垃圾邮件技术应用 |
|||