在Silverlight中使用WCF Web服务
问题描述:
我无法从WCF Web服务中检索结果。结果总是null
。在Silverlight中使用WCF Web服务
这里是我的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服务。
答
无论请求是否成功,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
会告诉你更多的问题。
您需要发布有关Web服务和您的配置(ClientConfiguration以及Web.Config)的更多信息。 –
public string GetUserName() { return System.Web.HttpContext.Current.User.Identity.Name.ToString(); } – neo
我在这里获取值但不在消费时 – neo