我通过WCF公开以下方法签名:
public void MethodA(RequestBase request)
{
}
public class RequestA : RequestBase
{
}
有一些从RequestBase类派生的具体类。在使用WcfTestClient.exe进行服务调用期间,如何将实际的具体类(RequestA)传递给方法A中的RequestBase?
答案 0 :(得分:1)
您正在为数据合同寻找KnownType attribute:
[DataContract]
public class RequestBase
{
}
[DataContract]
[KnownType(typeof(RequestBase))]
public class RequestA : RequestBase
{
}
然后你可以传入一个RequestA
对象,其中RequestBase
是服务操作的预期类型:
var requestA = new RequestA();
serviceClient.MethodA(requestA);