WCF在WPF应用程序中命名管道

时间:2009-06-22 05:23:38

标签: .net wpf wcf named-pipes

如何在WPF Windows应用程序的后台运行WCF命名管道服务?我似乎无法在WPF应用程序中找到任何运行WCF服务器的示例。

有什么想法吗?

我目前在Application_Startup中使用以下代码。这是否需要使用它自己的线程运行?

    Using Host As ServiceModel.ServiceHost = New ServiceModel.ServiceHost(GetType(Service), New Uri(("net.pipe://localhost")))
        '
        Host.AddServiceEndpoint(GetType(IService), New ServiceModel.NetNamedPipeBinding, "Test")
        Host.Open()
        '
    End Using

2 个答案:

答案 0 :(得分:2)

Juval Lowy在他的ServiceModelEx库中提供了帮助程序类以及有关如何在进程中运行WCF组件的信息,这可能是您要对WCF组件执行的操作,因为您要使用命名管道要求组件与WPF应用程序在同一台计算机上运行。

我建议从Juval Lowy的第二版“Programming WCF Services”第60页开始阅读InProcFactory类。这基本上是WCF的“圣经”。

这将向您展示如何使用他的帮助程序类来托管组件。

答案 1 :(得分:0)

我删除了使用代码块并将ServiceHost设置为WPF Application类中的私有变量。然后我在应用程序退出时关闭ServiceHost。似乎工作正常。