要求:可以让用户根据间隔时间的设置,自动登录,记录需求第2条的信息,写入数据库需求:
1、任务名称、设定URL地址、配置登录用户名和密码、间隔时间(最少1分钟)2、记录响应时间(记录HTTP请求的加载时间)、加载时间、记录响应状态(404、505等、响应延时),提交请求日期+时间和结束日期+时间;
 
     上面的数据怎么取的啊,怎么做啊 ,,大大们帮帮忙额,,只有2天时间!

解决方案 »

  1.   

    就ASP.NET做, 弄个有用户名登录框的aspx  测试访问其他页面
      

  2.   

    记录响应时间(记录HTTP请求的加载时间)、加载时间、记录响应状态(404、505等、响应延时),提交请求日期+时间和结束日期+时间;  
    数据库 现在要保存这些信息  根据每个用户
      

  3.   

    Timer定时器,httpwebrequest登录获取数据
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(""); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    if (response.StatusCode == HttpStatusCode.OK) 
    { }
    计时使用DateTime.比较时间差
      

  4.   

    1。 日志,我不明白IIS本身就有日志,为啥要自己重新做一个
    2。 如果你非要重新做日志,那么请实现一个httpHandler在httpHandler里去处理它,有关如何实现httpHandler不多讲了,google把,这方面文章一大把实际我根本不建议自己做日志,没啥实际意义。不说iis本身就有日志,单说你频繁把这种无关紧要的数据写入数据的开销就不小,而且还有一个麻烦,那就是会产生一个巨大数据库log日志(不是你的日志,而是数据库本身的信息日志,一般来说如果是这种频繁写入操作,1月内就会产生至少400M的数据日志,虽然你可以用简单模式不让数据库产生日志,但是这样并不划算)
      

  5.   

    哦,看错要求了重新看了一下要求,原来你不是要记录自己的信息,而是要记录别人的信息看着到像一个压力测试系统ok,jquery里ajax post做就成,不过嘛还是那个问题,如果频繁记录数据入库,其执行开销和日志开销那是相当的大滴
      

  6.   

    但是部门的头头,让我去做。。 没办法 记录响应时间(记录HTTP请求的加载时间)、加载时间、记录响应状态(404、505等、响应延时),提交请求日期+时间和结束日期+时间;这数据怎么得的 可以每个都写下么
      

  7.   

    jquery  不会额   不可以在后台写吗   
         
      

  8.   

       用winfrom做的   
            //取页面加载时间,用的流判断页面加载时间,有可能有误差
                 TimeSpan tsStar = new TimeSpan(DateTime.Now.Ticks);
                //读取页面流
                 string HTMLText = Login(txtUserName.Text, txtUserpass.Text, txtUrl.Text);
                 string EndDate = DateTime.Now.ToShortDateString();
                 string EndTime = DateTime.Now.ToLongTimeString() + DateTime.Now.Millisecond.ToString();
                 TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks);
                 txtEndDate.Text = EndDate;
                 txtEndTIme.Text = EndTime;            //得到页面加载时间
                 TimeSpan time = tsEnd.Subtract(tsStar);
                 double jiazai = time.TotalSeconds;
                //显示页面加载时间
                 txtyemiantime.Text = jiazai.ToString()+"秒";           
       //请求开始
                     TimeSpan tsStar = new TimeSpan(DateTime.Now.Ticks);                 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                     HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                     //请求得到回应
                     TimeSpan tsEnd = new TimeSpan(DateTime.Now.Ticks);                 //提交请求的日期
                     string lasttime = response.LastModified.ToShortDateString();
                     //提交请求的时间
                     string Savetime = response.LastModified.ToLongTimeString();
                     //Http加载时间
                     TimeSpan tsp = tsEnd.Subtract(tsStar).Duration();
                     int state = (int)response.StatusCode;
                     if (state == 200)
                     {
                         TimeSpan tsCenter = new TimeSpan(DateTime.Now.Ticks);
                         TimeSpan time = tsCenter.Subtract(tsStar);
                         double se = time.TotalSeconds;
                         txtHttpTime.Text = se.ToString();
                     }
                     //在页面上显示
                     textBox1.Text = state.ToString(); //状态
                     txttime.Text = lasttime.ToString();//提交日期
                     txtSaveTime.Text = Savetime.ToString();     //提交时间
                     txtHttpTime.Text = tsp.TotalMilliseconds.ToString() + "毫秒";//Http响应时间                 response.Close();   
      

  9.   

     //读取页面的流
            public string Login(string UserName, string UserPwd, string LoginUrl)
            {
                try
                {
                    //定义Cookie容器
                    CookieContainer CookieArray = new CookieContainer();                //创建Http请求
                    HttpWebRequest LoginHttpWebRequest = (HttpWebRequest)WebRequest.Create(LoginUrl);                //登录数据
                    string LoginData = "email=" + UserName + "&password=" + UserPwd;
                    //数据被传输类型
                    LoginHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
                    //数据长度
                    LoginHttpWebRequest.ContentLength = LoginData.Length;
                    //数据传输方法 get或post
                    LoginHttpWebRequest.Method = "POST";
                    //设置HttpWebRequest的CookieContainer为刚才建立的那个CookieArray  
                    LoginHttpWebRequest.CookieContainer = CookieArray;
                    //获取登录数据流
                    Stream myRequestStream = LoginHttpWebRequest.GetRequestStream();
                    //StreamWriter
                    StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.Default);
                    //把数据写入HttpWebRequest的Request流  
                    myStreamWriter.Write(LoginData);                //关闭打开对象     
                    myStreamWriter.Close();                myRequestStream.Close();                //新建一个HttpWebResponse     
                    HttpWebResponse myHttpWebResponse = (HttpWebResponse)LoginHttpWebRequest.GetResponse();                //获取一个包含url的Cookie集合的CookieCollection     
                    myHttpWebResponse.Cookies = CookieArray.GetCookies(LoginHttpWebRequest.RequestUri);                WebHeaderCollection a = myHttpWebResponse.Headers;                Stream myResponseStream = myHttpWebResponse.GetResponseStream();                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.Default);              string  Txt = myStreamReader.ReadToEnd();                //把数据从HttpWebResponse的Response流中读出     
                    myStreamReader.Close();                myResponseStream.Close();
                    return Txt;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }