3

您将如何在 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
4

2 回答 2

2

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

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

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

于 2009-06-22T15:05:30.457 回答
0

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

于 2010-01-22T05:09:43.877 回答