WCF自承载实践心得分享

开发 开发工具
WCF自承载的实现,首先要进行的当然是运行WCF,然后还需要一个可以承载 ServiceHost 的托管 .NET 应用程序。

WCF自承载这一词汇你可能从没有听过。其实对于它的理解还是比较容易的。首先我们要弄清楚WCF自承载优缺点,方便我们深入的研究这一知识。#t#

要能够实现WCF自承载,必须满足两个条件。

第一,需要 WCF 运行时;第二,需要可以承载 ServiceHost 的托管 .NET 应用程序。您需要自己动手编写启动和停止宿主的代码。

下面是WCF自承载的优点:

◆易用性:只需几行代码即可使服务运行。

◆灵活性:通过 ServiceHost<T> 的 Open() 和 Close() 方法,可以轻松控制服务的生存期。

◆易调试性:可以使用熟悉的调试方式对自承载环境中承载的 WCF 服务进行调试,而不必连接到单个应用程序来激活服务。

◆易部署性:通常,部署简单 Windows 应用程序与使用 xcopy 一样容易。您不必在服务器场和类似地方部署复杂的方案,即可部署简单的 Windows 应用程序来充当 WCF ServiceHost。

◆支持所有绑定和传输:自承载并不限制您仅能使用现有的绑定和传输技术。在 Windows XP 和 Windows Server 2003 上,IIS 限制您只能使用 HTTP。

下面WCF自承载的缺点:

◆可用性受到限制:服务只有在应用程序运行时才能被访问。

◆功能受到限制:自承载的应用程序在对高可用性、易管理性、可靠性、可恢复性、版本控制和部署方案的支持方面受到一定限制。至少,现有的 WCF 无法提供这些支持,因此在自承载的情况中,您必须自己实现这些功能;例如,默认情况下 IIS 提供了这些功能中几项。

换句话说,对于企业级方案来说不应考虑自承载方式。自承载适用于企业项目的开发或演示阶段。此外,当您希望用户桌面应用程序进行相互通信或在点对点情况下,可以对服务进行自承载。本书第 12 章对此进行了描述。

为了在实际工作环境中更好地说明WCF自承载,本章提供了一个 WinForms 应用程序,该程序所承载的服务用于跟踪 QuickReturns Ltd. 案例研究中证券商发布的报价。在此方案中,有两个不同的WinForms 应用程序。

一个是证券商管理器应用程序,证券商可以使用该程序发布报价并进行证券交易。另一个程序是单独的 WinForms 应用程序,用于跟踪发布的报价。如列表,该程序公开一个服务,所公开的服务实现了 ITradeTrackingService 约定,从而实现对报价的跟踪。证券商管理器应用程序会在成功通过 TradeService 发布报价后调用该服务。

  1. using System.ServiceModel; 
  2. using QuickReturns.StockTrading.
    ExchangeService.DataContracts; 
  3. namespace QuickReturns.StockTrading.
    TradeTrackingService.Contracts 
  4. [ServiceContract()] 
  5. interface ITradeTrackingService 
  6. [OperationContract()] 
  7. void PublishQuote(Quote quote);  
  8.  }   
  9. }  

 

责任编辑:曹凯 来源: 路由网
相关推荐

2009-11-05 14:13:33

WCF自承载

2010-05-21 17:10:09

2012-07-25 09:13:46

Google面试

2012-09-17 09:42:55

研发经理团队研发

2012-05-22 11:19:35

2009-11-05 13:54:07

WCF Service

2013-08-13 14:11:23

2009-11-05 14:03:57

WCF承载环境

2024-09-13 13:35:00

2011-12-26 16:33:02

WCF

2009-11-06 15:41:25

WCF自托管宿主

2010-02-22 16:19:25

WCF自托管

2009-12-22 19:26:51

WCF绑定

2009-12-22 16:03:03

WCF异常

2010-02-22 13:56:35

WCF服务契约

2009-12-21 17:05:59

WCF自托管宿主

2009-12-22 13:48:09

引用WCF服务

2010-02-22 17:58:06

WCF异步上传

2010-02-22 17:43:19

WCF服务启动

2010-03-01 13:06:49

WCF继承
点赞
收藏

51CTO技术栈公众号