params关键字可以通过WSDL定义来表达吗
本文关键字:定义 关键字 可以通过 WSDL params | 更新日期: 2023-09-27 17:57:34
我正在开发的应用程序正在为实现以下服务契约的WCF服务公开服务元数据:
[ServiceContract]
public interface IService
{
[OperationContract]
object Execute( string action, params object[] args );
}
添加服务引用后,我注意到在服务契约中没有params
关键字,并且在生成的Reference.cs
文件中实现了它。
WSDL定义中是否存在params
对应项?
或者params
是C#特有的东西,不能通过WSDL定义来表达,所以服务客户端生成器不知道在生成过程中应该添加params
?
params
只是语法糖,它允许您在不传递准备好的数组的情况下调用期望对象数组的方法。WCF对此一无所知——它应该只是期望对象数组。顺便说一句,将object
的数组传递给服务操作可能会导致多个问题,因为如果将自定义对象作为参数传递,WCF可能不知道如何序列化该对象。