WCF.服务通用方法

Art*_*sov 17 c# generics wcf

如何在wcf服务中使用泛型方法?

我写了这段代码:

[OperationContract]
void AddItem<T>(T item);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

类型"T"无法导出为架构类型,因为它是一个开放的泛型类型.如果所有泛型参数类型都是实际类型,则只能导出泛型类型.

Sim*_*mon 31

你根本做不到.这是不可能的,因为肥皂不支持这一点.通过创建一个被调用的中间本地对象并在调用WCF操作之前强制转换对象,请参阅本文,其中提到了如何绕过泛型.


Dar*_*rov 7

你不应该试图这样做.在启用SOAP的Web服务中,在发布WSDL时需要知道所有类型,以便客户端能够生成代理.泛型只是在SOAP规范中不存在.SOAP旨在实现互操作,并且所有语言都不存在泛型.