我是 WCF 的新手,用谷歌搜索了这个问题,但无济于事。我基本上有 WCF 客户端/服务器应用程序,使用启用了 HTTPS 的 basicHttpBinding 作为传输。我想要的是能够使用一种通用方法发送各种类型的数据(即各种消息)。我在 WCF 服务中定义了这样的数据:
[DataContract]
public class Payment
{
[DataMember]
int Pay_id
{
get { return Payment_Id; }
set { Payment_Id = value; }
}
[DataMember]
...
etc.
除了付款、配置、更新、日志之外,我还将有其他课程。在 WCF 中是否可以仅编写和使用一个 [Operation Contract] 方法来发送这些自定义类对象中的任何一个?像
SendMessage (Payment p);
SendMessage (Config c);
而不是为每种新类型的消息编写新方法,我认为这是糟糕的设计选择(难以扩展)?截至目前,我似乎只能在 WCF 客户端代理中实例化 [OperationContract] 方法定义中说明的类型,所以如果是
SendMessage(GenericMessage message)
然后我不能使用
Payment payment = new Payment();
在客户端,即使 Payment 是 GenericMessage 的子类。