我正在为我正在从事的项目使用 WCF 和 SignalR 的组合。
WCF 服务有许多 DTO,因为它们是[OperationContract]
(作为参数或返回类型)的一部分。
但是,我有两个类 (MachineStatusDto
和DeviceStatusDto
),它们仅用作通过 SignalR 从服务器广播的返回类型:
machine.On<MachineStatusDto>("Update", m => UpdateMachineRecord(m)); //On client side
我显然可以在我的 WCF 服务上创建一个使用这些类型的方法,但我觉得应该有一种方法来通知 WCF 服务包含特定类型,即使它们不是[OperationContract]
.
编辑:
最后,如果您只是添加[ServiceKnownType(typeof(SomeDto))]
到您的 WCF ServiceContract 接口,它会知道除了在服务合同中明确使用的类之外,还要发送这些类。就那么简单。