我无法在任何网站上找到(是的..我花了好几个小时或几个小时搜索/阅读/测试),这是一种通过Return调用简单的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
当我尝试从函数visual获取值时,表示错误:“表达式不会生成值”。
我希望你能帮助我,实际上它是我第一次如此努力地使用看起来如此简单的东西...... *叹气*
答案 0 :(得分:1)
wcf.ReturnStringAsync(1)的返回值很可能是Task类型而不是string。
你的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