2016-03-31 2 views
0

Я пытаюсь передать в свой веб-сайт 2 параметра datetime, но я не могу понять, как заставить его работать должным образом. Я покажу вам мой код ниже и ошибку, которую я получаю, может быть, кто-то знает как это работает.Параметры данных WCF [WebGet] Параметры datetime

[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-адрес:

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

Я надеюсь, что кто-то может мне помочь?

+0

По крайней мере эти черты будут проблематичными, URL-адрес кодирует ваши данные. – Crowcoder

ответ

0

Учитывая данные ниже, вы должны использовать DateTime.ParseExact вместо обычного DateTime.Parse

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

Мы можем видеть, что формат строки даты ГГГГ/ММ/DDThh: мм: сс и AFAIK, что этот формат не является родным для .NET

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

Благодарим вас за помощь, которую вы изумили! –

Смежные вопросы