在托管应用程序中承载
Windows Communication Foundation (WCF) 服务可托管在任何 .NET Framework 应用程序中。 自承载服务是最灵活的宿主选项,因为此服务部署所需要的基础结构最少。 但是,此服务也是最不可靠的托管选项,因为托管应用程序未提供 WCF 中其他托管选项(如 Internet 信息服务 (IIS) 和 Windows 服务)的高级托管和管理功能。
若要创建自承载服务,请创建并打开 ServiceHost的实例以启动侦听消息的服务。 有关详细信息,请参阅如何:在托管应用程序中托管 WCF 服务。
有关如何定义协定、实现协定以及在托管应用程序内托管服务的完整示例,请参阅入门教程和自托管。
以下各部分描述了使用此宿主选项的常见情况。
控制台应用程序
自托管支持的常见方案是在控制台应用程序内部运行的 WCF 服务。 在控制台应用程序内部托管一个 WCF 服务通常在服务的开发阶段非常有用。 这使服务变得容易调试,从中跟踪信息以查明应用程序内发生的情况变得更加方便,以及通过将其复制到新的位置进行来回移动变得更加轻松。
胖客户端应用程序
自托管支持的其他常见方案是富客户端应用程序,如基于 Windows Presentation Foundation (WPF) 或 Windows 窗体 (WinForms) 的应用程序。 此承载选项还使丰富客户端应用程序(如 WPF 和 WinForms 应用程序)与外部世界的通信变得很容易。 例如,一个将 WPF 用于其用户界面并托管一个允许其他客户端连接到它并共享信息的 WCF 服务的对等协作客户端。