Silverlight 5,从WCF Ria服务返回,VB.NET-简单的Hello World

Silverlight 5,从WCF Ria服务返回,VB.NET-简单的Hello World,vb.net,return,silverlight-5.0,wcf-ria-services,async-await,Vb.net,Return,Silverlight 5.0,Wcf Ria Services,Async Await,我在任何网站上都找不到(是的,我花了好几个小时搜索/阅读/测试),这是一种通过返回调用简单Hello World函数并向用户显示的方法 以下是我的WCF类代码: Imports System.ServiceModel Imports System.ServiceModel.Activation <ServiceContract(Namespace:="Servicio")> <AspNetCompatibilityRequirements(RequirementsMode:=

我在任何网站上都找不到(是的,我花了好几个小时搜索/阅读/测试),这是一种通过返回调用简单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
当我试图从函数中获取值时,VisualVisual会显示错误:“表达式不生成值”

我希望你能帮助我,事实上,这是我第一次被如此简单的事情困住。。。。。
*sign*

wcf.ReturnStringAsync(1)的返回值很可能是Task类型,而不是string类型

您的SayHello sub应该看起来像:

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

这一行:Dim message As String=wcf.ReturnStringAsync(1)。结果Visual Studio 2012仍然表示它不会生成值,Intellisense不会显示“.Result”和此函数:任务Visual Studio所述的私有异步函数SayHello()“Can
t从修饰符'Async'中找到所有类型。可能是目标框架上的错误?“。谢谢你的回答:)。。。但是我仍然不能做这项工作。@GonzaloHeviaCastillo,ReturnStringAsync的签名是什么?由于某些原因,您的代码在Visual Studio 2010中工作得非常完美—完整且更新,但在Visual Studio 2012中不起作用。谢谢你的帮助。@GonzaloHeviaCastillo,什么不起作用?您正在测试的机器是否同时安装了VS2010和VS2012?
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