1 つの WCF サービス アプリケーションを作成しました。にはいくつかのメソッドがありますService1.svc
。
ここに私のIService1.csがあります
[OperationContract]
GetUserDetailsByEmail_Result GetUserDetailsByEmail(string email);
ここに私のService.svc.csがあります
public class Service1 : IService1
{
#region GetUserDetails
public GetUserDetailsByEmail_Result GetUserDetailsByEmail(string email)
{
return (new UserManager()).GetUserDetailsByEmail(email);
}
#endregion
}
ここでGetUserDetailsByEmail_Result
はDemoModel.edmxComplex type
で作成されます。Scalar Propertyが含まれています。
基本的に私がやろうとしているのは、このメソッドをクライアント(c#) 側から呼び出したいということです。これが私のクライアント側のコードです
//svc.GetUserDetailsByEmailCompleted += new EventHandler<GetUserDetailsByEmailCompletedEventArgs>(svc_GetUserDetailsByEmailCompleted);
GetUserDetailsByEmail_Result dtbUserDetails = svc.GetUserDetailsByEmailAsync(loginName);
ここでsvcは のオブジェクトですService1Client
。ここでは単に wcf メソッドを呼び出しています。それは私にエラーを与える
タイプ「void」を「Demo.DemoServiceReference_Client.GetUserDetailsByEmail_Result」に暗黙的に変換することはできません
svc_GetUserDetailsByEmailCompletedメソッドを使用すると機能します。しかし、戻りデータを直接dtbUserDetails
. どうすればこれを達成できますか?WCF サービスまたはクライアント側に変更はありますか? またはWCFメソッド宣言で?