WcfTestClient方法将基类作为参数

时间:2013-09-19 04:48:08

标签: wcf wcftestclient

我通过WCF公开以下方法签名:

public void MethodA(RequestBase request)
{

}

public class RequestA : RequestBase
{

}

有一些从RequestBase类派生的具体类。在使用WcfTestClient.exe进行服务调用期间,如何将实际的具体类(RequestA)传递给方法A中的RequestBase?

1 个答案:

答案 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);