코드는 아래 주어진 것처럼 Timer의 이벤트 처리기 "ElapsedEventHandler"를 사용하여 Response.AppendHeader 또는 Response.Redirect 메서드를 호출하지만 "개체 참조가 개체 인스턴스로 설정되지 않았습니다. "를 Response 객체에 추가합니다. 이걸 도울 수있는 사람 ??정기적 인 서버 시간에 따라 Asp.Net 페이지를 새로 고침해야합니다. 오전 7:06, 오전 8시 06 분, 오전 9시 06 분, 오전 10시 06 분, 오전 11:06 ..till 9:06 PM
개인적으로 Timer 컨트롤을 사용하지 않은
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
const double interval60Minutes = 60 * 60 * 1000; // milliseconds to one hour
Timer checkForTime = new Timer(interval60Minutes);
//checkForTime.
checkForTime.Elapsed += new ElapsedEventHandler(checkForTime_Elapsed);
checkForTime.Enabled = true;
}
}
public void checkForTime_Elapsed(object sender, ElapsedEventArgs e)
{
if (timeIsReady(DateTime.Now.ToString("hh:mm tt").ToLower())) //12 Hour Date Format : 03:01 PM
{
System.Web.HttpContext.Current.Response.AppendHeader("Refresh", "2;Slider.aspx");
//Or
//System.Web.HttpContext.Current.Response.Redirect("Slider.aspx");
}
}
private bool timeIsReady(string time)
{
if (time.Contains("07:06 am"))
return true;
else if (time.Contains("08:06 am"))
return true;
else if (time.Contains("09:06 am"))
return true;
else if (time.Contains("10:06 am"))
return true;
else if (time.Contains("11:06 am"))
return true;
else if (time.Contains("00:06 pm"))
return true;
else if (time.Contains("01:06 pm"))
return true;
else if (time.Contains("02:06 pm"))
return true;
else if (time.Contains("03:06 pm"))
return true;
else if (time.Contains("04:06 pm"))
return true;
else if (time.Contains("05:06 pm"))
return true;
else if (time.Contains("06:06 pm"))
return true;
else if (time.Contains("07:06 pm"))
return true;
else if (time.Contains("08:06 pm"))
return true;
else if (time.Contains("09:06 pm"))
return true;
else
return false;
}
가능 중복 [타이머 사용 HttpContext.Current 원인이 될 널 (http://stackoverflow.com/questions/18652038/use-of-timer-causes-httpcontext-current-to-be- null) – CodeCaster
타이머가 작동하면 응답이 없습니다. – CodeCaster
@CodeCaster 어떤 단서, 어떻게 우리가 이것을 얻을 수 있습니까 ??? – samj28