做一个在线累计时间,登陆成功后获取服务器时间,关闭窗体时在获得一次服务器时间,取得累计时间?

解决方案 »

  1.   

    拦截Session开始和结束方法 两个方法都用datetime。now 获取时间 然后做差个人观点 菜鸟一个。。
      

  2.   

    Global.asax文件
    放在程序根下<%@ Application Language="C#" %><script runat="server">    void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
        }
        
        void Application_End(object sender, EventArgs e) 
        {
            //  在应用程序关闭时运行的代码    }
            
        void Application_Error(object sender, EventArgs e) 
        { 
            // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
            
        }    void Session_End(object sender, EventArgs e) 
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
            // 或 SQLServer,则不会引发该事件。    }
       
    </script>
      

  3.   

    <%@ Import Namespace="System.Data" %> 
    <%@ Import Namespace="System.Data.SqlClient" %> 可以导入你需要的命名空间
      

  4.   

    winform?那要看你怎么和服务器通讯的?webservice ? 服务器上获取本机时间然后传回客户端有什么问题吗?
      

  5.   

    哥哥,你就写一个webservice方法[WebMethod]
    public DateTime GetServiceTime()
    {
        Return DateTime.Now;
    }
      

  6.   

    写一个获取时间的Web服务,部署在你想要得到该计算机时间的计算机上,让需要该时间的计算机调用。
      

  7.   

    this is winform not web ok?you may input these words in the Form1_load() :DateTime start_time=DateTime.Now;
    then input these words in the Form1_closed() :DateTime end_time=DateTime.Now;
    TimeSpan span_time = start_time.Subtract(end_time).Duration();//the "span_time" 
    //is what you want to get.
    //tip:the "start_time" must be Global Variable.
    //sorry my computer has trouble ,can not input chinese.