我創建了一個WCF服務應用程序。在Service1.svc
中有幾種方法。從客戶端調用WCF方法c#
這裏是我的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.edmx創建Complex type
。它包含一些標量屬性。
基本上我想要做的是,我想從客戶端(c#)端調用此方法。這裏是我的客戶端代碼
//svc.GetUserDetailsByEmailCompleted += new EventHandler<GetUserDetailsByEmailCompletedEventArgs>(svc_GetUserDetailsByEmailCompleted);
GetUserDetailsByEmail_Result dtbUserDetails = svc.GetUserDetailsByEmailAsync(loginName);
這裏SVC是Service1Client
的對象。這裏我簡單地調用wcf方法。它給了我一個錯誤
無法隱式轉換類型「無效」到「Demo.DemoServiceReference_Client.GetUserDetailsByEmail_Result」
它的工作原理,當我使用svc_GetUserDetailsByEmailCompleted方法。但我想直接在dtbUserDetails
中返回數據。我怎樣才能做到這一點?我的WCF服務或客戶端有任何更改嗎?或者在WCF方法聲明?
我不會使用實體框架對象作爲返回對象,而是創建簡單的POCO來充當數據傳輸對象。 – Oscar
感謝您的回覆。但我不瞭解POCO。你能給我任何鏈接或教程嗎? –
普通舊C-Sharp對象: http://en.wikipedia.org/wiki/Plain_Old_CLR_Object – Oscar