Vb.net Silverlight服务回调返回null

Vb.net Silverlight服务回调返回null,vb.net,silverlight,silverlight-4.0,vb.net-2010,Vb.net,Silverlight,Silverlight 4.0,Vb.net 2010,我试图用下面的方法获取数据,但得到的响应为空,我不知道为什么。我只是在尝试使用silverlight提供的wcf服务的另一种方式,我不明白我应该做什么。我希望有人能看到这里出了什么问题:) 这是我的服务代理类: Private Shared m_service As New DataServiceClient Public Shared Sub GetSiteLogin(ByVal user As String, ByVal pass As String, callback As Sy

我试图用下面的方法获取数据,但得到的响应为空,我不知道为什么。我只是在尝试使用silverlight提供的wcf服务的另一种方式,我不明白我应该做什么。我希望有人能看到这里出了什么问题:)

这是我的服务代理类:

Private Shared m_service As New DataServiceClient

    Public Shared Sub GetSiteLogin(ByVal user As String, ByVal pass As String, callback As System.EventHandler(Of GetSiteLoginCompletedEventArgs))
            AddHandler m_service.GetSiteLoginCompleted, callback
            m_service.GetSiteLoginAsync(user, pass)
        End Sub
这是电话:

Dim em As New DataService.Employee
                Dim pass As String = CustomSecurity.Hash.GetSHA1Hash(txtPassword.Password)

                ' Try to get the employee with the login information
                SettingsServiceAgent.GetSiteLogin(txtUsername.Text, pass, Sub(s, r) em = r.Result)
employee对象将保持空。如果我在服务调用中插入一个中断符并遍历代码,它会从数据库中找到正确的记录,并且return语句会显示一个具有正确数据的对象,但silverlight端的employee对象仍将保持null


请帮忙:)谢谢

我很难回答我自己的问题。我发现该服务正在向我返回一个值,但我未能完全理解异步调用的本质。我试图完成的是,如果有意义的话,在感觉同步的同时实际上是异步的编码。因此employee对象为null,因为我不知道服务在代理类中返回了什么。我仍然需要一个方法来告诉我employee对象何时可以使用。这必须是某种类型的事件,可能是PropertyChanged或自定义事件,但无论如何,我需要停止代码,等待员工获得我需要的值,然后继续。不知道如何在同一代码块中完成这一点而不跳转到事件处理程序等


非常感谢您提供的任何想法或链接。

您是否尝试启动Fiddler或开发人员工具并捕获请求?反应体有你想要的吗?对我来说,这两个都是新的课题,但我会努力研究它们。谢谢