繁体   English   中英

在wcf服务中传递可选参数

[英]pass optional parameter in wcf service

我在WCF中有一个函数,该函数接受一个参数,并被另一个应用程序调用。 现在,我想在WCF中添加一个可选参数,以使其不影响先前代码中调用的方法。

getData(int number, int type=0)

我尝试在第二个参数中使用默认值,设置[WebGet(UriTemplate但未成功。如果我使用DataMember IsRequired属性,那么它也会更改先前代码的方法调用。

我不想创建另一个WCF方法。 还有其他解决方法吗?

为WCF实现接口时,不能使用可选参数。 为WCF实现接口时不能使用可选参数

使用函数重载

getData(int number)
getData(int number, int type)

您不能在Wcf服务方法中传递可选参数,也不能在具有相同名称的Wcf服务中重载方法。 如果要重载方法,可以使用Name属性以这种方式重载方法:

[OperationContract (Name = "MethodName")]

我通过在URI中设置默认的null值解决了这个问题,因此,如果用户提供了例如:“ type”值,则此参数为可选,我收到了它,但是如果用户未提供任何值,则默认值为null,因此解决了我的问题。

希望这能回答您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM