Ajax实时显示股票信息实例中的问题
Java下有HttpServlet,C#下的一般处理程序Java下有HashMap,C#下的DictionaryJava下有Random类有nextBoolean(),C#灵活使用nextDouble()Java下有Timer使用匿名函数,C#使用委托不同一般处理程序HttpServlet专门用于响应请求的类,最开始我用的是Asp.net下的Web窗体,但Web窗体很明显更倾向于可视,而这个例子所要求的服务端不必有页面,所以使用的是一般处理程序(*.ashx),这个和HttpServlet非常类似,可以专门用于处理简单的请求,相对于Web窗体更省资源且响应速度更快。DictionaryC#没有HashMap,不过可以使用其Dictionary达到同样的效果,Dictionary存放的同样是键值对组合,当然值可以为对象类型。NextBoolean()Java下可以根据nextBoolean()决定是涨是降。[java]<SPAN style="FONT-FAMILY: SimSun; FONT-SIZE: 18px"> // 新建一个生成随机数的对象final Random random = new Random();//上涨或下降if (random.nextBoolean()) {sz = 0 - sz;}</SPAN>// 新建一个生成随机数的对象final Random random = new Random();//上涨或下降if (random.nextBoolean()) {sz = 0 - sz;} C#呢?这可以灵活使用nextDouble(),nextDouble()取值为0~1,与0.5比较同样可以决定是涨还是降。[csharp]<SPAN style="FONT-FAMILY: SimSun; FONT-SIZE: 18px"> Random rdm = new Random();//上涨浮动if (rdm.NextDouble() > 0.5){sz = 0 - sz;}</SPAN>Random rdm = new Random();//上涨浮动if (rdm.NextDouble() > 0.5){sz = 0 - sz;} 匿名函数好吧,前三个问题很简单,第四个就比较困难了,先看一下未解决以前的计时代码(服务端部分代码):[csharp]<SPAN style="FONT-FAMILY: SimSun; FONT-SIZE: 18px"> /// <summary>/// 初始化配置数据/// </summary>public void InitNew(){//设定股票字典stock = new Dictionary<string, Stock>();stock.Add("300001", szzs);stock.Add("600000", pfyh);stock.Add("601398", gsyh);stock.Add("601857", zgsy);//设置计时器参数timer = new System.Timers. Timer();timer.Enabled = true;timer.Interval = 50;//执行计时器函数theouttimer.Elapsed +=new System.Timers.ElapsedEventHandler(theout);}/// <summary>/// 计时器执行函数/// </summary>/// <param name="source">事件源</param>/// <param name="e">事件参数</param>public void theout( object source,System.Timers.ElapsedEventArgs e){//股票变动范围Random rdm = new Random();double rdm2 = rdm.NextDouble();//上涨浮动double sz = rdm2 * 30;double pf = rdm2 * 0.5;double gs = rdm2 * 0.1;double zg = rdm2 * 0.3;//下跌浮动if (rdm2 > 0.5){sz = 0 - sz;}if (rdm2 > 0.5){pf = 0 - pf;}if (rdm2 > 0.5){gs = 0 - gs;}if (rdm2 > 0.5){zg = 0 - zg;}//当前股票价格szzs.SetCurrent(Math.Round((szzs.GetCurrent() + sz) * 100) / 100.0);pfyh.SetCurrent(Math.Round((pfyh.GetCurrent() + pf) * 100) / 100.0);gsyh.SetCurrent(Math.Round((gsyh.GetCurrent() + gs) * 100) / 100.0);zgsy.SetCurrent(Math.Round((zgsy.GetCurrent() + zg) * 100) / 100.0);} </SPAN>/// <summary>/// 初始化配置数据/// </summary>public void InitNew(){//设定股票字典stock = new Dictionary<string, Stock>();stock.Add("300001", szzs);stock.Add("600000", pfyh);stock.Add("601398", gsyh);stock.Add("601857", zgsy);//设置计时器参数timer = new System.Timers. Timer();timer.Enabled = true;timer.Interval = 50;补充:Web开发 , 其他 ,
上一个:利用WebUtil删除Cookies
下一个:仿网页分页页码