1.关闭不必要的Session
<%@ Page EnableSessionState="flase"%>
2.关闭不必要的ViewState
<asp:DataGrid EnableViewState="false" runat="server">
如果页面级
<%@ Page EnableViewState="false"%>
3.不要使用Exception控制程序流程
Exception是很耗资源的
4.禁用VB和JScript动态数据类型
动态数据类型是要占用大量的CPU运行时间
<%@ Page Language="VB" Strict="true"%>
5.使用存储过程的数据访问
6.只读数据访问不要使用DataSet(DataSet是断开连接的,存储再内存中,所以资源的消耗巨大)
使用SqlDataReader代替DataSet
SqlDataReader是read-only,forward-only
7.关闭ASP.NET的Debug模式,部署时是再web.config中取消Debug.
8.ASP.NET输出缓冲
页面缓冲:
<% OutputCache Duration=60 VaryByParam="None"%>
Duration=延迟时间;
VaryByParam=控件id,例如VaryParam="TextBox1";
切不可作无为的缓冲;
片断缓冲 :VaryByControl
asp.net新的对象Cache于Application对象具有相同的作用域
Cache.Insert("MyData",Source,new CacheDependency(Server.MapPath("a ......
出现错误发送Email
可以在Global.asax的void Application_Error(Object sender,EventArgs e)
{
//用到了Ssytem.Net.Mail
MailMessage mail=new MailMessage();
mail.from=new MailAddress("automated@contoso.com");
mail.Subject="SIte Error at" +DateTime.Now;
mail.Body="Error Decription"+ ex.Message;
SmtpClient server=new SmtpClient();
server.Host=outgoingMailServerHost;
server.Send(mail);
}
///建壮的错误处理
1。预测问题,具体做饭是把所有可能发生故障代码封装在try/catch/finnally块中,单凭这一点并不能保证不会出现异常,至少还要正确的处理常见的异常
2。不要留下任何未处理的异常,只要遵循这个指导原则,即使未能预测到某种问题,也至少不会让用户看到异常页面,我们可以在页面级和应用程序级实施这一指导原则,不用说,应用程序级别错误处理程序优先于页面级处理程序
3。确保错误页面不会泄漏任何敏感资料,如有必要,区分本地用户和远程用户,并只对本地用户显示消息,本地用户被定义未从Web服务器机器访问应用程序的用户
web.config 中的<customErrors>节
<cu ......
作者:敖士伟
一、项目中引用log4net.dll
二、AssemblyInfo.cs中加入:
[assembly:log4net.Config.DOMConfigurator(ConfigFile="log4net.xml", Watch=true)]
说明:指明log4net.xml配置文件
三、代码中使用Log4net
using log4net;
ILog log = LogManager.GetLogger("log4net");
log.Info("It's OK!");
附:log4net.xml (简单使用不需改动)
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="rollingFile" />
</root>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="log.txt" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy.MM.dd" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] % ......
网站文件名:
1、 网站文件名以标准英文单词描述业务内容。如果1个英文单词无法描述,可以增加2个或者3个,但尽量为完全单词,例如article.aspx/ articleView.aspx / articleList.aspx 等。
2、 文件名尽量不用数字描述。
3、 文件名尽量不能太长,以不超过20个字母为宜。
4、 图片文件名尽量描述图片内容分类。尽量以btn,menu,title,arrow,line,dotline,bg等前缀命名。例如:
Btn_friendlinks.gif / title_contactus.gif
5、 禁止采用.inc等对include文件命名,此文件名可下载,不利安全。有动态内容的文件,都要采用
开发技术命名。例如:dbconn.inc.aspx / index.lang.aspx。
6、 虽然可能在不同文件夹,尽量不要产生同名文件。例如:modules/index.aspx language/index.aspx
对设计师的要求:
1、 图片文件的保存。网站页面设计者在切图后把图片分类,有文字的图片放到language/语言/images/文件夹下。没有文字的图片放到templates/当前网站名/images/文件夹下。
2、 CSS样式文件的保存。网站设计最少2个CSS文件,一个是language/语言/下langStyle.css 文件。此css文件负责语言转换后文字大小,字体的定义。另外的css 文件保存在templates/当前网站名/style ......
效果图:
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="OWCdrawing.aspx.cs" Inherits="OWCdrawing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Test</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align: left">
<table style="width: 600px">
<tr>
<td colspan="3" style="height: 20px">
<strong>怎么样在ASP.NET2.0中使用OWC组件画图</strong ......
用户控件是ASP.NET中很重要的一部分,使用它可以提高程序代码的重用性,即一个用户控件在网页、用户控件或控件的内部都可以再次使用。本实例介绍用户登录的用户控件也可以在网站的任何地方再次使用。
技术要点
本实例介绍如何在ASP.NET中创建用户控件、如何使用用户控件,以及如何在用户控件中定义公开属性的实现方法。
跟我做
1.创建新ASP.NET应用程序
在Visual Studio .NET 2003集成开发环境中创建新的ASP.NET Web应用程序,命名为Example_12_4。
2.创建用户登录用户控件MyUserControl.ascx
在应用程序Example_12_4中添加1个用户控件,它的名称为MyUserControl.ascx,并在用户控件上添加2个TextBox控件和2个Button控件,它们的名称分别为tUserName、tPassword、UserLoginBtn和CancelBtn。
控件tUserName和tPassword分别用来输入用户名称和用户密码;控件UserLoginBtn和CancelBtn实现用户登录功能和取消登录功能。用户登录用户控件MyUserControl.ascx的设计界面如图12-9所示。
图12-9 用户控件MyUserControl.ascx的设计界面
用户控件MyUserControl.ascx的HTML设计代码如下:
<%@ Control Language="c#" AutoEventWireup="false"
Codebehind="MyUserCo ......