我可以在 WCF 命名管道上传递 COM 接口吗?
我有以下COM接口:
[CoClass(typeof(ConfigViewerClass))]
[Guid("E51C677A-163B-11D4-AFE4-00902743BD1F")]
public interface ConfigViewer : IConfigViewer{}
当我尝试在我的 WCF 中将它作为返回类型传递时,我收到以下错误:
从管道读取错误:管道已结束。(109, 0x6d)。
为什么是这样?
我尝试了以下但失败了:
- 将 TransferMode 更改为 Streaming。
- 将 COM 接口封装为
[DataMember]
定义为的 c# 类内部[DataContract]
- 传递此 COM 接口的空实例(用于较小的流量大小)。
- 添加 KnownType 属性 - 导致编译错误,因为它是 COM 类:
属性“KnownType”在此声明类型上无效。它仅对“类、结构”声明有效。
谢谢!