パイプという名前の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インターフェイスの空のインスタンスを渡します(トラフィックサイズが小さい場合)。
- KnowType属性の追加-COMクラスであるため、コンパイルエラーが発生します:
属性'KnownType'は、この宣言型では無効です。'class、struct'宣言でのみ有効です。
ありがとう!