2016-03-31 26 views
0

2 datetime parametrelerini webget'ime aktarmaya çalışıyorum ancak düzgün çalışmasını nasıl sağlayacağımı anlayamıyorum Aşağıda size kodumu göstereceğim ve hata mesajı alıyorum. Bu nasıl çalışır.WCF veri hizmeti [WebGet] tarihsaat parametreleri

[WebGet] 
public IQueryable<TestTable> GetCallersByDate(string beginDate, string eindDate) 
{ 
     testCDREntities context = this.CurrentDataSource; 

     DateTime startDt = DateTime.Parse(beginDate); 
     DateTime endDt = DateTime.Parse(eindDate); 



     var selectedOrders = from table in context.TestTables 
          where table.Created >= startDt && table.Created <= endDt 
          select table; 

     return selectedOrders; 
} 

url: Biri bana yardımcı olabilir umut

http://localhost:50088/WebService.svc/GetCallersByDate?beginDate=2016/03/23T20:22:30:14&eindDate=2016/03/2T20:13:11:03 

? Aşağıdaki veriler göz önüne alındığında

+0

En azından bu bölü çizgileri sorunlu olacak, URL verilerinizi kodlayacak. – Crowcoder

cevap

0

, bunun yerine her zamanki DateTime.Parse ait DateTime.ParseExact kullanmalıdır

http://localhost:50088/WebService.svc/GetCallersByDate?beginDate=2016/03/23T20:22:30:14&eindDate=2016/03/2T20:13:11:03

Biz tarih dizesi biçimi yyyy olduğunu görebilirsiniz/AA/ggTSS: dd: p ve AFAIK bu format .NET için doğal olmadığını

BeginDate = 2016/03/23T20: 22: 30: 14 eindDate = 2016/03/2T20: 13: 11: 03

string dateFormat = "yyyy/MM/ddTHH:mm:ss"; 

DateTime startDt = DateTime.ParseExact(beginDate, dateFormat, CultureInfo.InvariantCulture); 
DateTime endDt = DateTime.Parse(eindDate, dateFormat, CultureInfo.InvariantCulture); 
+0

Şaşırtıcı olan yardımlarınız için teşekkür ederiz! –