我在WCF服务方法中使用自定义数据类型时遇到问题,下面是我的示例代码
[ServiceContract()]
public class SampleServise : ISampleServise
{
void object GetSomething(ICustomData objectData)
{
// Do Something
}
}
我该怎么处理ICustomData类接口?
由于 阿夫欣
答案 0 :(得分:2)
WCF基于消息传递,并且使用XML架构(XSD)对消息传递进行建模。因此,可以在WCF中使用XML模式中可以表达的任何内容。
这也意味着:不支持接口。您需要为WCF服务方法中的参数使用实际的具体类型。
在您的情况下,创建一个实现ICustomData
的具体类,然后将该类用作参数类型。
为了获得良好的参考,请阅读MSDN Designing Service Contracts,其中列出了参数:
参数和返回值
每个操作都有一个返回值和一个参数,即使它们是 无效。但是,与本地方法不同,您可以在其中传递引用 对象从一个对象到另一个对象,服务操作不通过 对象的引用。相反,他们会传递对象的副本。
这很重要,因为参数或返回中使用的每种类型 value必须是可序列化的; 也就是说,必须可以转换一个 该类型的对象分为字节流和字节流 进入一个物体。