在Silverlight中使用WCF Web服务

时间:2012-09-07 07:12:20

标签: wcf silverlight

我无法从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;
        }

我的网络服务实现如下:

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

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

1 个答案:

答案 0 :(得分: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会告诉你更多关于这个问题的信息。