2006年4月12日

WebCast:ASP.NET中的错误处理和程序优化

今天观看了邵志东老师的ASP.NET中的错误处理和程序优化讲座,主要内容包括
• 错误类型以及处理方式
• 提高数据访问性能
• 服务器控件的使用
• 缓存的使用
• 提高性能的实用技巧
最后总结时邵志东老师为我们提出了以下几点提高性能的建议
• 尽量用SQL返回DataGrid需要绑定的DataSet,尽量不要对DataSet进行二次加工,特别不要对DataSet进行大量删除,实践证明这很慢。不如复制部分数据。
• 尽量把查询数据的数据库操作次数压缩到最少,尽量1-2次数据库操作就可完成;
• 注意优化数据库查询操作
• 不要在页面加载时默认选择全部数据,尽管可以方便后续操作,但用户会以为“还没有操作就这么慢”
• 建议尽量用比较高效的SQL代替后续复杂的DataSet二次加工提高性能的实用技巧
• 仅在需要的时候打开数据库连接
• 一旦数据库操作完毕,一定关闭连接
• 在关闭连接时记得删除临时对象
• 在关闭连接前,确保关闭任何用户定义事务
• 显示非交互性数据,使用SQLDataReader可以获得最佳性能
• 注意共享那些经过复杂处理或漫长查询才得到的数据
• 在页面跳转时记得终止当前页面的处理
• 有大量连接的字符串操作不要使用 ,改用StringBuilder

本次课程是WebCast中ASP.NET开发实践系列课程中的一讲。

posted @ 2006-04-12 01:11 ZhangBUG 阅读(196) 评论(1) 编辑

C#2.0:调用存储过程

    做项目的时候用到了,.NET1.1和2.0版本的使用方法也略有不同,记在这里。

        string ConnStr = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];        
        SqlConnection conn 
= new SqlConnection(ConnStr);
        SqlCommand cmd 
= new SqlCommand();
        cmd.Connection 
= conn;
        conn.Open();
        cmd.CommandText 
= "[EachRows_M]";
        cmd.CommandType 
= System.Data.CommandType.StoredProcedure;
        cmd.Parameters.Add(
"@ETIME", SqlDbType.VarChar, 3);
        cmd.Parameters[
"@ETIME"].Value = ETIME;
        SqlDataAdapter adapter 
= new SqlDataAdapter(cmd);
        DataSet MyDs 
= new DataSet();
        adapter.Fill(MyDs);
        conn.Close();

posted @ 2006-04-12 00:40 ZhangBUG 阅读(229) 评论(0) 编辑

C#2.0:DataSet和XML之间的操作

    不知道这样是不是走了弯路,不过总算是一种方法。我应用的时候是用这个方法返回一个DataSet,用AJAX.NET控件在客户端用JS接收,不知道为什么用DataSet的Merge(FoundRows)方法而不通过DataTable填充时在客户端接收出错,提示Table.0.Rows不存在或不是对象。
    仅供参考。
        //读取XML文件到DataSet
            DataSet ds = new DataSet();
            MyXmlPath 
= "C:\\Message.xml";
            FileStream fs 
= new FileStream(MyXmlPath, FileMode.Open);
            ds.ReadXml(fs, XmlReadMode.ReadSchema);
            fs.Close();
        
//筛选行存入DataSet
            DataRow[] FoundRows;
            
string Expression = "AREA IN ('" + Area + "','')";
            
string SortOrder = "DAY DESC";
            FoundRows 
= ds.Tables[0].Select(Expression, SortOrder);
            DataTable Mydt 
= new DataTable();
            Mydt.Columns.Add(
"FKEY");
            Mydt.Columns.Add(
"IIIII");
            Mydt.Columns.Add(
"NAME");
            Mydt.Columns.Add(
"AREA");
            Mydt.Columns.Add(
"X");
            Mydt.Columns.Add(
"Y");
            Mydt.Columns.Add(
"BKIND");
            Mydt.Columns.Add(
"SKIND");
            Mydt.Columns.Add(
"DAY");
            Mydt.Columns.Add(
"ETIME");
            Mydt.Columns.Add(
"TYPE");
            Mydt.Columns.Add(
"MAIN");
            Mydt.Columns.Add(
"TTIME");
            
foreach (DataRow dr in FoundRows)
            
{
                Mydt.Rows.Add(dr.ItemArray);
            }

            DataSet Myds 
= new DataSet();
            Myds.Tables.Add(Mydt);
        
//保存到XML文件
            Myds.WriteXml(MyXmlPath, XmlWriteMode.WriteSchema);

posted @ 2006-04-12 00:38 ZhangBUG 阅读(431) 评论(0) 编辑

导航

<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

公告

昵称:ZhangBUG
园龄:5年10个月
粉丝:0
关注:0

搜索

 
 

常用链接

随笔分类

文章分类

园丁前辈

最新评论