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