Вызов метода с интервалом времени (asp.net c #) - PullRequest
1 голос
/ 31 июля 2009

Привет! Я хочу вызвать метод, основанный на одном временном интервале

вот мой след

защищенные пустые привязанные данные (отправитель объекта, EventArgs e) { // моя логика здесь }

Теперь я хочу вызывать этот метод каждые 5 минут

используя c # и asp.net, как мне этого добиться?

спасибо

Ответы [ 3 ]

1 голос
/ 31 июля 2009

у вас есть элемент управления таймером в элементах управления ASP.Net ajax.
http://msdn.microsoft.com/fr-fr/library/system.web.ui.timer.aspx

Предоставляет постбак

исключение из MSDN:

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html >
<head runat="server">
    <title>Timer Example Page</title>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            OriginalTime.Text = DateTime.Now.ToLongTimeString();
        }

        protected void Timer1_Tick(object sender, EventArgs e)
        {
            StockPrice.Text = GetStockPrice();
            TimeOfPrice.Text = DateTime.Now.ToLongTimeString();
        }

        private string GetStockPrice()
        {
            double randomStockPrice = 50 + new Random().NextDouble();
            return randomStockPrice.ToString("C");
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000" />

        <asp:UpdatePanel ID="StockPricePanel" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" />
        </Triggers>
        <ContentTemplate>
            Stock price is <asp:Label id="StockPrice" runat="server"></asp:Label><BR />
            as of <asp:Label id="TimeOfPrice" runat="server"></asp:Label>  
        </ContentTemplate>
        </asp:UpdatePanel>
        <div>
        Page originally created at <asp:Label ID="OriginalTime" runat="server"></asp:Label>
        </div>
    </form>
</body>
</html>

Надеюсь, что это поможет.

1 голос
/ 31 июля 2009
Timer myTimer = new Timer();
myTimer.Elapsed += new ElapsedEventHandler( binddata);
myTimer.Interval = 5*60*100;
myTimer.Start();
1 голос
/ 31 июля 2009

Использование System.Threading.Timer - http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx.

...