我正在开发 WCF 服务。我有一个服务操作Function getValues(Optional verbose as Boolean) as List(of String)
。
这有效:
' 首先,添加一个包含 iRM 接口的文件引用。
Dim ep3 As EndpointAddress
ep3 = New EndpointAddress("net.pipe://localhost/RM/RMPipe")
Dim netPipeRMClient As RMLib.iRM netPipeRMtClient = ChannelFactory(Of RMLib.iRM) _ .CreateChannel(New NetNamedPipeBinding, ep3)
dim foo as List(of String) = netPipeRMClient.getValues()
但是,这不起作用:
' 使用添加服务引用获取客户端类型... Dim ep3 As EndpointAddress
ep3 = New EndpointAddress("net.pipe://localhost/RM/RMPipe")
dim netPipeRMClient as RM.iRMClient = _
new RM.IRMClient(New NetPipeBinding, ep3)
Dim foo as List(of String) = netPipeRmClient.getValues()
在最后一行,我收到一个编译时错误,上面写着“未为参数指定参数verbose
”。
该verbose
参数在我的方法签名中明确定义为可选,但在我的 WCF 服务合同中,当我使用通过“添加服务引用”创建的客户端时,它似乎不是可选的。
有任何想法吗?