我正在使用WCF服務。我有一個服務操作Function getValues(Optional verbose as Boolean) as List(of String)
。當我使用「添加服務引用」時,我看不到可選的方法參數
這工作:
「首先,添加包含IRM接口文件引用。
昏暗EP3作爲的EndpointAddress
EP3 =新的EndpointAddress( 「net.pipe://本地主機/ RM/RMPipe」)
昏暗netPipeRMClient作爲RMLib.iRM netPipeRMtClient =的ChannelFactory(OF RMLib.iRM)_ .CreateChannel(新NetNamedPipeBinding,EP3)
dim foo as List(of String) = netPipeRMClient.getValues()
然而,這不起作用:
'使用添加服務引用得到客戶端類型... 昏暗EP3作爲的EndpointAddress
EP3 =新的EndpointAddress( 「net.pipe://本地主機/ RM/RMPipe」)
昏暗netPipeRMClient作爲RM.iRMClient = _
新RM.IRMClient(新NetPipeBinding,EP3)
暗淡富爲(一個String)名單= netPipeRmClient.getValues()
在最後一行,我收到寫着「爲參數verbose
沒有指定參數」編譯時錯誤。
verbose
參數明確定義爲我的方法簽名中可選,但在我的WCF服務合同中,當我使用使用「添加服務引用」創建的客戶端時,它似乎不是可選的。
任何想法?
這不會reall你對我有意義。重複一遍,如果我使用對接口的文件引用來初始化我的客戶端,那麼我可以在我的WCF客戶端中使用可選參數。如果我使用「Add Service Reference」初始化我的客戶端,那麼我不能... – 2010-06-29 20:40:19
@Rising Star:如果使用文件引用初始化客戶端,則基本上是「繞過WCF運行時」直接獲取.NET服務合同和數據合同等。添加服務引用使其成爲SOA方式 - 畢竟,您要添加引用的服務可能是IBM HOST上的COBOL服務 - 嘗試向COBOL解釋可選參數..... – 2010-06-29 20:41:38
您也可以使用'添加服務引用「來生成代理類,然後返回並使用可選參數修改類。只要記住,如果您重新生成代理,這些更改將會丟失。 – 2010-06-29 21:07:10