当前位置:编程学习 > C#/ASP.NET >>

为什么速度这么慢?多做一次加载有这么困难么?

           源代码是这样的



protected override void OnLoad(EventArgs e)
        {
                Multiple = 0;
                String Prefixes = ConfigurationManager.AppSettings["Devin.Framework:TablePrefixes"];//获取表名前缀
                //String Prefixes = "T_";
                cate = DataConvert.GetString(Request["cate"]);
                fileName = cate;
                switch (cate)
                {
                    case "news":
                        pageTitle = "新闻";
                        tableName = Prefixes + "NewsCategory";
                        fileName = String.Format("/xml/news{0}.xml", Multiple);
                        break;
                    case "products":
                        pageTitle = "产品";
                        tableName = Prefixes + "Category";
                        fileName = String.Format("/xml/product{0}.xml", Multiple);
                        break;
                }
}


--上面运行 之后,点一个提交按钮, 加载两次,(本地速度1秒不到), 但放到外网就1到5分钟

---------------------



protected override void OnLoad(EventArgs e)
        {
                 if (!Page.IsPostBack)
            {
                Multiple = 0;
                String Prefixes = ConfigurationManager.AppSettings["Devin.Framework:TablePrefixes"];//获取表名前缀
                //String Prefixes = "T_";
                cate = DataConvert.GetString(Request["cate"]);
                fileName = cate;
                switch (cate)
                {
                    case "news":
                        pageTitle = "新闻";
                        tableName = Prefixes + "NewsCategory";
                        fileName = String.Format("/xml/news{0}.xml", Multiple);
                        break;
                    case "products":
                        pageTitle = "产品";
                        tableName = Prefixes + "Category";
                        fileName = String.Format("/xml/product{0}.xml", Multiple);
                        break;
                }}


---放到if(!Page.IsPostBack)里之后 1秒钟不到就做完提交操作

求解释  --------------------编程问答--------------------
String Prefixes = ConfigurationManager.AppSettings["Devin.Framework:TablePrefixes"];
//获取表名前缀

  它二次加载的时候, webconfig类被第二次加载,  但反映的之慢,  也太超乎我的想象了 --------------------编程问答-------------------- 点击按钮就是Postback,第二种   if (!Page.IsPostBack)返回false,后面代码都不执行了,当然快了。 --------------------编程问答-------------------- 从上面的代码,完全看不出哪有非常耗时的操作,就重复算执行百遍,也不可能超过1分钟。 --------------------编程问答--------------------
引用 3 楼  的回复:
从上面的代码,完全看不出哪有非常耗时的操作,就重复算执行百遍,也不可能超过1分钟。


对啊, 我就想不明白, 还有什么其他原因么 --------------------编程问答--------------------  if (!Page.IsPostBack)
仅在页面首次加载的时候执行,也就是不是回发的状态下 --------------------编程问答-------------------- 我估计是网络的问题 --------------------编程问答--------------------
引用 6 楼  的回复:
我估计是网络的问题


这个不清楚, 我打开一个网站 ,都还蛮快的 --------------------编程问答-------------------- 是不是这样子的 ,首先页面加载  运行一次(很快),从服务器加载webconfig类。
其次  点 提交又运行一次  。再从服务器加载webconfig类  ,然后数据提交 给服务器。 


这有什么问题么 --------------------编程问答--------------------
引用 5 楼  的回复:
if (!Page.IsPostBack)
仅在页面首次加载的时候执行,也就是不是回发的状态下


哦  ,好像是这样子的 , 回发好慢 , 请求很快 --------------------编程问答-------------------- 加了if (!Page.IsPostBack)的判断后,点击控件,条件里面的代码其实没有运行,所以很快

Multiple = 0;
                String Prefixes = ConfigurationManager.AppSettings["Devin.Framework:TablePrefixes"];//获取表名前缀
                //String Prefixes = "T_";
                cate = DataConvert.GetString(Request["cate"]);
                fileName = cate;
                switch (cate)
                {
                    case "news":
                        pageTitle = "新闻";
                        tableName = Prefixes + "NewsCategory";
                        fileName = String.Format("/xml/news{0}.xml", Multiple);
                        break;
                    case "products":
                        pageTitle = "产品";
                        tableName = Prefixes + "Category";
                        fileName = String.Format("/xml/product{0}.xml", Multiple);
                        break;
                }

LZ实在找不出来的话可以再这段代码里面放几个timespan来显示 相应的代码运行了多久,然后在检查试试
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,