작동 : 내가 구문 분석 작업하거나하지 않는 경우 증명하기 위해 다른 경우 시도, 여기 결과입니다 지정된.
은 RecurrenceRule.TryParse에 의해 던져진 예외로서, 나는 간격 규칙이없는 경우가 발생 것으로 나타났습니다. RecurrenceRule.TryParse 메서드를 사용하려면 수동으로 추가해야합니다. 여기
는 원래 조노 업로드 된 수정 된 코드입니다
var today = DateTime.Now.Date;
var start = today.AddDays(-14).AddHours(19);
var end = start.AddHours(2.5);
// Create a few recurring events using Kendo Web Scheduler and use the recurrence rules
var patterns = new[]
{
"FREQ=DAILY;UNTIL=20140227T130000Z",
"FREQ=DAILY;INTERVAL=3;UNTIL=20140227T130000Z",
"FREQ=DAILY;INTERVAL=3;COUNT=4",
"FREQ=DAILY;INTERVAL=5",
"FREQ=WEEKLY;BYDAY=WE;INTERVAL=1",
"FREQ=WEEKLY;COUNT=5;BYDAY=TU,WE;INTERVAL=1",
"FREQ=WEEKLY;INTERVAL=4;COUNT=5;BYDAY=WE,TH,SA",
"FREQ=WEEKLY;INTERVAL=3;UNTIL=20140331T090000Z;BYDAY=WE,TH,SA",
"FREQ=MONTHLY;BYMONTHDAY=13;INTERVAL=1",
"FREQ=MONTHLY;COUNT=7;BYDAY=1FR;INTERVAL=1",
"FREQ=MONTHLY;UNTIL=20150212T130000Z;BYDAY=SU,SA;BYSETPOS=-1;INTERVAL=1",
"FREQ=YEARLY;BYMONTH=12;BYMONTHDAY=25",
"FREQ=YEARLY;COUNT=3;BYMONTH=2;BYMONTHDAY=28",
"FREQ=YEARLY;UNTIL=20200306T130000Z;BYMONTH=8;BYDAY=3WE",
"FREQ=WEEKLY;COUNT=5;BYDAY=MO;INTERVAL=4",
"FREQ=WEEKLY;COUNT=2;BYDAY=MO;INTERVAL=1",
};
// Now figure out which events will trigger in the next week - server side only - using Telerik.Web.UI.dll RecurrenceRule class.
foreach (var expr in patterns)
{
var rrule = string.Format("DTSTART:{0:yyyyMMddTHHmmssZ}\r\nDTEND:{1:yyyyMMddTHHmmssZ}\r\nRRULE:{2}", start, end, expr);
try
{
RecurrenceRule recRule = null;
var b = RecurrenceRule.TryParse(rrule, out recRule);
if (recRule == null)
{
Console.WriteLine("PARSE ERROR: " + expr);
continue;
}
}
catch (Exception)
{
Console.WriteLine("PARSE ERROR: " + expr);
}
}