如何在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
答案 0 :(得分:2)
Juval Lowy在他的ServiceModelEx库中提供了帮助程序类以及有关如何在进程中运行WCF组件的信息,这可能是您要对WCF组件执行的操作,因为您要使用命名管道要求组件与WPF应用程序在同一台计算机上运行。
我建议从Juval Lowy的第二版“Programming WCF Services”第60页开始阅读InProcFactory类。这基本上是WCF的“圣经”。
这将向您展示如何使用他的帮助程序类来托管组件。
答案 1 :(得分:0)
我删除了使用代码块并将ServiceHost设置为WPF Application类中的私有变量。然后我在应用程序退出时关闭ServiceHost。似乎工作正常。