我无法从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服务中获得结果。
答案 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
会告诉你更多关于这个问题的信息。