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 に答える