1

我无法从 WCF Web 服务中检索结果。结果总是null

这是我的 Silverlight 客户端代码:

TTServiceClient client1 = new TTServiceClient();
            client1.GetUserNameCompleted += new EventHandler<GetUserNameCompletedEventArgs>(client1_GetUserNameCompleted);
            client1.GetUserNameAsync();

void client1_GetUserNameCompleted(object sender, GetUserNameCompletedEventArgs e)
        {
            txtUserName.Text = e.Result;
        }

我的 Web 服务实现如下所示:

public string GetUserName()
{ 
    return System.Web.HttpContext.Current.User.Identity.Name.ToString(); 
} 

但我能够在 wcf 服务中得到结果。

4

1 回答 1

0

无论请求是否成功,Silverlight Web 服务都不会引发任何异常。但是,在您的回调中,您应该始终检查错误eventargs e.Errors,在您的情况下,例如:

void client1_GetUserNameCompleted(object sender, GetUserNameCompletedEventArgs e)
{
   if(e.Error != null)
   {
       throw new Exception("Web service error: " + e.Error.Message);
   }
   else
   {
       txtUserName.Text = e.Result;
   }
}

据说e.Error会告诉你更多关于这个问题的信息。

于 2012-09-07T08:17:10.453 回答