我有一个 Windows 服务,它充当从外部源接收的数据的传播者。此 Windows 服务ServiceHost
使用NetNamedPipeBinding()
. ServiceContract
还定义了CallbackContract
还有一个客户端 DLL 组件,它使用服务器并将解析的数据作为事件冒泡。收到来自服务器的回调后,数据会冒泡。
该代码适用于桌面应用程序,但是当我尝试在 WinRT 应用程序中引用客户端 DLL 时,我收到以下错误:
The pipe name could not be obtained for the pipe URI: Access is denied. (5, 0x5)
我认为这是因为 WinRT(据我所知)缺乏对命名管道的支持。
如何在 WinRT 中使用此类服务?我可以根据任何要求更改 WCF 端,但它必须作为 Windows 服务托管(它有非 WinRT 消费者)。通信总是发生在同一台机器内,轮询是最后的手段。