vb を使用して WCF サービスを作成しました。サード パーティによって c# で記述されたクライアントには、2 つの出力パラメーターが必要です。
サービスは正常に動作しますが、out パラメータに問題があります。
SOを検索すると解決策が見つかり、プレフィックスを使用して2つのパラメーターを宣言できました。
以下の宣言に示すように、パラメーターの 1 つは文字列で、もう 1 つはオブジェクトの配列です。
Function getStatusAndCosts(<Out()> ByRef commStatus() As communicationStatus, <Out()> ByRef communicationError As String, ByVal strUser As String, ByVal strPwd As String, ByVal communicationId As Guid) As Boolean
クライアントを起動すると、配列は空を返しますが、文字列には正しいデータが入力されています。
Dim bTest As Boolean = False
Dim strTest As String ="-"
Dim tmpcommListArray() As DocPos_WebService.IDocPoscommunicationStatus
Dim tmpGuid As New Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
bTest = client.getStatusAndCosts(tmpcommListArray, strTest, "yyy", "yyy", tmpGuid)
2 番目の出力パラメーターを削除しようとしました (以下の宣言を参照)
Function getStatusAndCosts(<Out()> ByRef commStatus() As communicationStatus, ByVal strUser As String, ByVal strPwd As String, ByVal communicationId As Guid) As Boolean
この場合、配列は正しいデータで埋められます。
結果なしでパラメーターの順序を変更しようとしました(文字列が満たされ、配列が空を返します)
どこが間違っていますか?vb で複数の out パラメータを使用することは可能ですか?
返信ありがとうございます。