如何在异步过程中将参数传递给WCF

问题描述:

我对此技术很陌生。我正在尝试使用MVVM(第一次)。在视图中,我有一个日期选择器绑定到ViewModel属性Calendardate(这工作)。 WCF测试客户端验证GetEncounterTimesAsync() - 没有参数 - 工作正常。我已将WCF服务查询更改为使用datetime参数。该模型是作为EntityFramework从数据库创建的。 (使用Telerik数据访问)。如何在异步过程中将参数传递给WCF

我搜索了互联网没有成功。我没有使用任何Web服务(据我所知)。

我在下面做了什么失败。

如何将参数从UI传递给WCF并对实体执行查询?

如果无法完成,如何通过WCF将参数化查询创建为EntityFramerwork?

我很困惑,任何帮助将不胜感激。

(我的系统:Visual Studio 2010中,Telerik的数据访问)

视图模型:

public MaintenanceFormViewModel() 
    { 
     this.Calendardate = DateTime.Now; 
    } 

    private void RefreshEncountertimes() 
    { 
     // manage results when the WCF service returns 
     this.serviceClient.GetEncounterTimesCompleted += (s, e) => 
     { 
      this.Encountertimes = e.Result; 
     }; 
     // call the WCF service 
     this.serviceClient.GetEncounterTimesAsync(Calendardate); 
    } 

private DateTime calendardate; 
    public DateTime Calendardate 
    { 
     get 
     { 
      return this.calendardate; 
     } 
     set 
     { 
      this.calendardate = value; 
      this.OnPropertyChanged("Calendardate"); 
      this.RefreshEncountertimes(); 
     } 
    } 

我的WCF服务:

[ServiceContract] 
public class ChaosService 
{ 
    [OperationContract] 
    public IEnumerable<Encountertime> GetEncounterTimes(DateTime encountertime) 
    { 
     using (var context = new ChaosModel()) 
     { 
      var query = from et in context.Encountertimes 
         where et.Tencounter.Date == encountertime.Date 
         select et; 

      var result = context.CreateDetachedCopy(query.ToList()); 
      return result; 
     } 
    } 
} 
+0

您是否尝试过更新ServiceReference? – bit

+0

如何更新ServiceReference? –

+0

这是非常基本的,只是Google它 – bit

展开您的客户端项目的ServiceReferences。 右键点击ChaosService。 选择更新服务参考。

+0

完美!谢谢。 –

+0

将此标记为答案或对其加以注解。 – bit

+0

我会如果我可以 - 没有足够的分数。 –