/// <summary> /// 将日期、各种编码,编码进frame /// </summary> /// <param name="frame"></param> /// <param name="isSequence"></param> internal override void Encode(Frame frame, bool isSequence = false) { //不编码地址,直接编码内容 frame.SetNextByte(BeginAddress); frame.SetNextByte(EndAddress); frame.AppendBytes(SpecificTime.GetEncodedValue()); }
/// <summary> /// Cache item until absolute expiration 2012/01/01 @ 17h45 /// </summary> /// <param name="year">2012</param> /// <param name="month">1</param> /// <param name="day">1</param> /// <param name="hour">17</param> /// <param name="minute">45</param> /// <param name="second">0</param> public CacheOutputUntilAttribute(int year, int month, int day, int hour = 0, int minute = 0, int second = 0) { CacheTimeQuery = new SpecificTime(year, month, day, hour, minute, second); }
/// <summary> /// Cache item until absolute expiration 2012/01/01 @ 17h45 /// </summary> /// <param name="year">2012</param> /// <param name="month">1</param> /// <param name="day">1</param> /// <param name="hour">17</param> /// <param name="minute">45</param> /// <param name="second">0</param> public CacheOutputUntilAttribute(int year, int month, int day, int hour = 0, int minute = 0, int second = 0) { CacheTimeQuery = new SpecificTime(year, month, day, hour, minute, second); }
public void maxage_mustrevalidate_headers_correct_with_cacheuntil() { var client = new HttpClient(_server); var result = client.GetAsync(_url + "Get_until25012015_1700").Result; var clientTimeSpanSeconds = new SpecificTime(2015, 01, 25, 17, 0, 0).Execute(DateTime.Now).ClientTimeSpan.TotalSeconds; var resultCacheControlSeconds = ((TimeSpan) result.Headers.CacheControl.MaxAge).TotalSeconds; Assert.IsTrue(Math.Round(clientTimeSpanSeconds - resultCacheControlSeconds) == 0); Assert.IsFalse(result.Headers.CacheControl.MustRevalidate); }
/// <summary> /// Delay first execution of the task for the specified time interval. /// </summary> public static DelayTimeUnit DelayFor(this SpecificTime time, int interval) { if (time == null) { throw new ArgumentNullException("time"); } return(DelayFor(time.Schedule, interval)); }
public void maxage_mustrevalidate_headers_correct_with_cacheuntil() { var client = new HttpClient(_server); var result = client.GetAsync(_url + "Get_until25012015_1700").Result; var clientTimeSpanSeconds = new SpecificTime(2015, 01, 25, 17, 0, 0).Execute(DateTime.Now).ClientTimeSpan.TotalSeconds; var resultCacheControlSeconds = ((TimeSpan)result.Headers.CacheControl.MaxAge).TotalSeconds; Assert.IsTrue(Math.Round(clientTimeSpanSeconds - resultCacheControlSeconds) == 0); Assert.IsFalse(result.Headers.CacheControl.MustRevalidate); }
/// <summary> /// 将日期、各种编码,编码进frame /// </summary> /// <param name="frame"></param> /// <param name="isSequence"></param> internal override void Encode(Frame frame, bool isSequence = false) { //不编码地址,直接编码内容 frame.AppendBytes(SpecificTime.GetEncodedValue()); }