我正在制作一个仅存在的WCF服务,以帮助调用者到达另一个WCF服务。换句话说,我的服务接收数据并将(相同的数据)发送到其他服务。我将我的服务称为服务A,将其他服务称为服务B.
[ServiceContract]
public interface ServiceB
{
[OperationContract]
string SendComplexData(ComplexData data);
}
[DataContract]
class ComplexData { ... }
在服务B中,我调用一个复杂类型作为参数的方法,由DataContract向我公开。问题是,我应该在我的服务A中请求相同B类型的数据吗?并且,如果是,我如何将此现有类型公开给调用者?
[ServiceContract]
public Interface ServiceA
{
[OperationContract]
string SendComplexDataToServiceB(ComplexData data);
}
答案 0 :(得分:1)
我应该要求数据......
这是其中一个选项,更容易。另一种选择是在代理服务A中公开不同的合同和cincert。
您选择哪个选项取决于您和您的客户要求。
如何将类型公开给调用者?
在方法的签名中重复使用相同的类型。从技术上讲,客户端使用的类型取决于客户端。基本上有三种选择: