2012-09-07 51 views
1

我無法從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服務。

+0

您需要發佈有關Web服務和您的配置(ClientConfiguration以及Web.Config)的更多信息。 –

+0

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

+0

我在這裏獲取值但不在消費時 – neo

回答

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會告訴你更多的問題。