0

ここをクリック Global.asax.cs

      namespace WebApplication7
     {
    public class Global : System.Web.HttpApplication
      {
    private static int countdays=0;

    protected void Application_Start(object sender, EventArgs e)
    {
        countdays = 0;
    }

    protected void Session_Start(object sender, EventArgs e)
    {
        countdays += 1;
    }

    protected void Application_BeginRequest(object sender, EventArgs e)
    {

    }

    protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {

    }

    protected void Application_Error(object sender, EventArgs e)
    {

    }

    protected void Session_End(object sender, EventArgs e)
    {
        countdays -= 1;
    }

    protected void Application_End(object sender, EventArgs e)
    {

    }
    public static int CountNo { get { return countdays; } }
  }
}

Global.apsx

  <body>
  <form id="fromHitCounter" method="post" runat="server">
  Total number of days since the Web server started:
 <asp:label id="lblCount" runat="server"></asp:label><br />
 </form>
 </body>

Global.aspx.cs

      private void Page_Load(object sender, System.EventArgs e)

        {

      int Countdays = HitCounters.Global.Countdays;//Hit counter does not exist  


      lblCount.Text = Countdays.ToString();

        }

global.asaxファイルを使用してasp.netで日数カウンターを計算する方法、Global.aspx.cs iamで、エラーヒットカウンターを取得することは現在のコンテキストに存在しません

4

1 に答える 1

2

私は理由を尋ねるつもりはありません、私はおそらくあなたが私に与える理由が気に入らないでしょう。ただし、ここでは日数を数えていません。セッションの開始をカウントしています。

あなたが本当にやりたいことは次のようなものです:

public class Global : System.Web.HttpApplication
{

    private static DateTime started;
    private static int days;

    protected void Application_Start(object sender, EventArgs e)
    {
        started = DateTime.UtcNow;
        days = 0;
    }

    protected void Session_Start(object sender, EventArgs e)
    {
        TimeSpan ts = DateTime.UtcNow - started;
        days = (int)ts.TotalDays;
    }

    ...

  }
}

ただし、これは、セッションイベントが発生し、アプリケーションがアンロードされる可能性があり、実際にアンロードされるという事実を見落としていることを前提としています。アプリケーションは1日でもロードされたままにならない場合があります。

リンクは、Webサイトへのアクセス数をカウントすることを示しています。これは、日数をカウントしたり、Webサーバーが実行されている時間を取得したりすることとは異なります。また、同じユーザーからの繰り返しの訪問などを考慮しておらず、アプリドメインのアンロード全体で実際に永続的ではないため、これは非常に貧弱な試みです。

于 2013-02-20T13:01:47.483 に答える