【发布时间】:2012-03-21 16:05:33
【问题描述】:
我正在构建一个概念验证 WCF 服务,并有意构建所有接口,以避免在必要时提供任何具体实现。我想将生成的合同(包括消息定义)发送给另一个团队,以开始针对我正在构建的合同进行构建,但除非我提供一个用 DataContractAttribute 修饰的类,否则消息参数不会被序列化。有没有办法让我继续使用松耦合的接口来定义我的合同,或者我是否需要使用类来构建我的所有消息?
示例服务
[ServiceContract]
public interface ITestService
{
[OperationContract]
ITestResponse TestOperation(ITestRequest request);
}
public interface ITestRequest
{
string Message { get; set; }
}
public interface ITestResponse
{
bool Success { get; set; }
}
XSD 定义示例
<xs:element name="TestOperation">
<xs:complexType>
<xs:sequence>
<!--I want this to be a reference to a complex type with definition of it's members-->
<xs:element minOccurs="0" name="result" nillable="true" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
【问题讨论】: