0

どのWebサイトでも見つかりません(ええ..検索/読み取り/テストに数時間かかった)、リターンで単純なHello World関数を呼び出してユーザーに表示する方法。

ここに私のWCFクラスコードがあります:

Imports System.ServiceModel
Imports System.ServiceModel.Activation

<ServiceContract(Namespace:="Servicio")>
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)>
Public Class ServicioBD

<OperationContract()>
Public Function ReturnString(ByVal number As Integer) As String

    If number = 1 Then
        Return "Hello World!"
    Else
        Return "Bye World!"
    End If

End Function

このサービスを「ServicioWCF_BD」という名前で追加しました。

そして、これは MainPage.xaml から呼び出す方法です。

Private Sub SayHello()
Dim wcf As New ServicioWCF_BD.ServicioBDClient
    Dim message As String = wcf.ReturnStringAsync(1)  'ERROR THE EXPRESSION DOESNT GENERATE A VALUE
    MessageBox.Show(message)
End Sub

関数ビジュアルから値を取得しようとすると、「式は値を生成しません」というエラーが表示されます。

私はあなたが私を助けてくれることを願っています. 実際、私はこれほど単純に見えるものでこれほど苦労したのは初めてです..... *ため息*

4

1 に答える 1

1

wcf.ReturnStringAsync(1) の戻り値は、おそらく文字列ではなく Task 型です。

SayHello サブルーチンは次のようになります。

Private Sub SayHello()
    Dim wcf As New ServicioWCF_BD.ServicioBDClient
    Dim message As String = wcf.ReturnStringAsync(1).Result
    MessageBox.Show(message)
End Sub

または、どこから呼び出しているかによって、次のようになります。

Private Async Function SayHello() As Task
    Dim wcf As New ServicioWCF_BD.ServicioBDClient
    Dim message As String = Await wcf.ReturnStringAsync(1)
    MessageBox.Show(message)
End Sub
于 2013-05-03T12:10:30.377 に答える