Академический Документы
Профессиональный Документы
Культура Документы
性能优化
性能优化
NET �����Ż������ܽ�
Ŀ¼
1. C#���Է���... 4
1.1 ������... 4
1.1.1 ���ⲻ��Ҫ�Ķ���
�... 4
1.2.3 ���Ŀմ��ȽϷ���... 6
1.3 ���߳��... 6
1.3.1 �߳��ͬ��... 6
1.3.3 ���̱߳��̼���... 7
1.4 ����ϵͳ... 8
1.4.1 ����������ı����ʼ������... 8
1.4.3 ������ʹ������ʵ�����... 9
1.5 �쳣����... 10
1.5.1 ��Ҫ�Ե��쳣��... 10
1.5.2 ��Ҫ�Ե��쳣�� Ϣ � � . . . 10
1.5.3 ���ⲻ��Ҫ�����׳쳣... 10
1.5.4 ���ⲻ��Ҫ���������׳쳣... 10
1.5.5 ����ָ�����쳣����ͨҪʹ���
ͨ õ�System.Exception. 10
1.5.6 Ҫ��finally���ͷ�ռ�õ���Դ... 11
1.6 ����... 11
1.6.1 �������... 12
1.6.2 ��̬
��������... 12
1.6.3 ��̬
��������... 12
1.6.4 �Ƽ��ʹ��ԭ��... 12
1.7 ����뼼��... 13
1.7.1 ѭ � � д � � . . . 13
1.7.3 ������μ����Ԫ��... 13
1.7.5Ϊ�ַ��������������Ҫֱ�Ӱ��ַ�����" "���˫��װ档... 14
1.8 Hashtable. 15
1.8.1 Hashtable����... 15
1.8.2 ʹ��HashTale���������ֵ伯�����͵����Σ�... 16
1.9 ����ʹ��ArrayList��... 16
1.10��XML�����ȡ���... 17
1.11 ����ʹ�õ���ݹú�Ƕ��ѭ����... 17
1.12 ʹ���ʵ���Caching������������... 17
2. Ado.Net 17
2.1 Ӧ��Ado.net��һЩ˼��ԭ��... 18
2.2 Connection. 18
2.2.3 ȷ����ӳ�����... 19
2.2.4 ��Ҫ�������... 19
2.3 Command. 19
2.3.1 ʹ��ExecuteScalar��ExecuteNonQuery. 19
2.3.2 ʹ��Prepare. 19
2.4 DataReader 20
2.4.1 ��ʽ��رDataReader 20
2.4.2 ������ŷ��ʴ����������ŷ�������... 20
2.4.3 ʹ�����ͻ�������������... 20
2.5 DataSet 21
2.5.1 �������������
ӿ�е �Ч�... 21
2. ʹ��DataView.. 21
3.ASP.NET. 21
3.1 �������г̣
�Reduce Round Trips��... 21
3.2 ��������ͳ�ʱ�����ҵ... 22
3.3 ʹ�û���... 22
3.4 ���߳��... 22
3.5 ϵͳ��Դ... 23
3.6 ҳ� 洦��... 23
3.7 ViewState. 23
4.JScript 24
4.1 JScript�����Ż��Ļ���
ԭ��... 24
4.2 JScript���Ա�����Ż�... 24
4.3 DOM���... 27
4.4 ����... 28
1. C#���Է���
1.1 ������
�������ս�����ֹ��������Ĺ�������˳���Ľ��׳ԣ��������þ��dz��������ܶ���ڶ
��������⡣
� � � � � � �
��1.1.1 ���ⲻ��Ҫ�Ķ���
�
�����������յĴ�۽ϸߣ�����C#����Ҫ�� �ԭ
��һ������� �DZ ѭ ��Ҫ��Ķ ���������
ⲻ �о һЩ ��������Ρ�
��1.1.1.1 ����ѭ���������� ��
������������
�ÿ ̬ ����ô��ѭ���з������������������
�ѭ ����ı�״ �ġ �� Ч�����ǽ������ᵽѭ�����
洴����
��1.1.1.3 ʹ�ó�����ⴴ������
��1.1.1.4 ʹ��StringBuilder���ַ����
1.1.2 ��Ҫʹ�ÿ������ ��
����ʵ������У��������������а�����룬�������Ϊ������
ԭ������͵�עɾ����ˣ�ֻ����һ��տǣ���ʱӦ
��͵�ע����������עɾ���
sb.Append (Results[i]);
�����Ӵ����ǹ̶
��IJ���ֻ�м��Σ���ʱӦ��ֱ���� + ����ӣ����ֳ������
��ʵ���ϣ��������Ѿ������Ż��������ݼ ӺͬŴ�����ò����������String.Concat
���������磺 String str = str1 + str2 + str3 + str4;
�����磬 bool.Parse���������Ѿ��Ǻ��Դ�Сд�ģ�����ʱ��Ҫ����ToLower������
����һ��dz��ձ�ij������ַ�Ƚϡ� � � Ч � � � � � � ʹ � � Compare
�����������������Сд���ԵıȽ ϣ����Ҳ��ᴴ���� �ַ�
����
����{
����Console.Write("SAME");
����}
��1.2.3 ���Ŀմ��ȽϷ���
����String�����Length������0�Ƚ������ķ�����if (str.Length == 0)
����עC#����ڱʱ�Ὣ����������������ַ���ŵ
ͬ �������У�intern pool��������������
ͬ ����ظ䡣
1.3 ���߳��
1.3.1 �߳��ͬ��
���߳������ͬ
� � DZ�д���̳߳� �����Ҫ���ȿ������⡣C#ΪͬΪ���ṩ�� Monitor��Mutex��AutoResetEvent
�� ManualResetEvent ������ֱ�� װWin32 ���⼸������¼����������ٽ
�ֻ��ͬ�����ơ�C#���ṩ��һ��lock��䣬����ʹ�ã���������Զ�����ʵ��� Monitor.Enter ��
Monitor.Exit ���á�
��1.3.1.1 ͬ �����
�� ����ȿ�����������Ҳ����������
� � һij ͬǷ �δ �� 롣 Ϊ����ָ�� MethodImplOptions.Synchronized
���Խ���Ƕ�������������ͬ
������� 磺
[MethodImpl(MethodImplOptions.Synchronized)]
if (instance == null )
return instance;
ͨ������£�Ӧ��Сͬ���ķ�Χ��ʹϵͳ��ø�õ��������������ܡ
� � � � � � � �ΪͬΪ������һ������⣬�����ȷ�
������е�ÿ����붼��Ҫ����������
ͬ ͬ
��1.3.1.2 ͬ ������
��
��ʹ�� lock ���� �
���� �����������
�ͬ � �
Type �this ���
�Ŀͬѡ�
Ϊͬ �רŹ���ij�Ա�����
��������Type��
����Type�����Ӱ�� һ���������
� AppDomain�����͵�����ʵ������
ͬ �
ⲻ��� �ܵ���
�����������ص⣬�����ܵ���һЩ��Ԥ����ڵΪ������һ��ܲ��õ�ϰ�ߡ��������һ��ֻ�
�static
ͣ ��������� �ͣ
�ҲӦ�����һ��
�static �ijԱ������ ô˳�Ա�����Ϊ�����
�������� this
��ʹ��Ϊ��
�ĿΪͬ � �רŹ���ij�Ա���
�Ŀ�ͬ�ġ�
�������Ƽ�������ʽ���� new һ�� object ���� �ö��������� ��
������ж�������Ҫ���������
�в Ҫͬ�ͬ��Ŀ�ģ���ô���� Ϳ
ͬ���ΪЩ �ֱ������ͬ����Ա�����
ͬ1.3.1.4 ������
ͬ
[ThreadStatic]
1.3.3 ���̱߳��̼���
get
������������Ǻܳ����һ�ֱ�����һ���� lock
����ͻ�ֱ�Ӵ � � � � � � � � ˣ � � � � �
ⲻ�Ϊ
� �ȫ��� � � lock
� ֮ ǰ�������Ѿ�� ж�� �߳̽� ߳̽��뵽�˵�һ�� if ����С����ӵ ���ڶif ��䣬�������ᱻ�
�����
��������ظµ�ʵ������ɵ�ʵ������������������������ݲƻ����߱� ��ʲôԭ����Ӧ����ʹ��
1.4 ����ϵͳ
��1.4.1 ����������ı����ʼ������
����Ҫ����עǣ������еľֲ�������ǴӶѶ��Ǵ�ջ�Ϸ��䣬����C#���������㹤����
�ʹ����δ��ֵ�ľֲ�����������ڼ伴�ᱨ������Ҫ��Ϊ�����ӡ����������ij�Ա���Ҳ��ֵ������
ߵĻ�����ȫ�� ��
�ͬ ͬ
��1.4.2 ValueType �� ReferenceType
1.4.2.1 �����÷�ʽ����ֵ���Ͳ���
��ֵ � � � ʹӵ���ջ���䣬�������ʹ��йܶѷ��䡣��ֵ������������
�ʱ��Ĭ�ϻ���в���ֵ���ƣ��������ֵ���ͷ���Ч���ϵ����ơ���Ϊһ����ɣ������÷�
ʽ����ֵ���Ͳ�������������ܡ
if (ob is Rectangle)
else
return false ;
1.4.2.3 �������Ͳ��װ
��һ���������־γ�����ʹ�ü�������ʱ�����磺
ArrayList al = new ArrayList();
���ǵõ��ģ��������ʹ������������ôƵ����ʹ��һ��ֵ���͵Ļ���ֵ���͵����ƻ�ܿ챻�ľ������磬�
�һ��ֵ����ѹ��һ���ж������͵�Ⱥ����������װ䣬�ܺ��ô��������
������ڣǵ � � � Ĵ � � � � ����� ڰΪֵ � � � � � � � � � � � ѧ���㣩
1.4.3 ������ʹ������ʵ�����
? ������ʹ������ʵ��������������ݣӶ������������ת
? ʹ�÷��������Ⱥ�����������ݽṹ������������ʱ�����ǾͿ��Ա�ʵ����洢�պú��ʵ����͡
����ʡ��
� � � � � � � � � ת/ � �����װʱ�䡣
? ��C#��ʹ��as,����is������ؼis����鿴
������ ͣǷ���Ա���Ϊij���������� ����
Dz ͣ ������ ����͵����������תá����ԣ
ͨ�ͨ�is �Ľ �cast �Ч �������һ������ʱ��������Ӧ���������
�ִ�����cast������as���ؼʱ�������ã
���� null�����Բ 鿴nullȻ������ϲ��������顣����
castΪ����͵���� ã������
�˵��As����Ҫ��is������50%��
1.5 �쳣����
���쳣 Ҳ���ִ����Եĵ��������봫 ͳ��������ķ�ʽ��ȣ��쳣��ǿ���Եģ���������Ƿ�������д
˱ ������� Ĵ��
룩��ǿ���͵ġ������зḻ���쳣��Ϣ���������ջ����
��1.5.1 ��Ҫ�Ե��쳣��
ԭ����ǣ���Ҫ�Ե��쳣����������������
�������쳣���������Ҫ����ǣ���Ҫ�Ե�� �أ������ڱд��
�������׳Ŵ�ij���dz���Ҫ�������һ��
ԭ�������
�Dz ˵ Ҫ������ Щ�㲻�ܴ�����쳣��
���Ե��쳣�Ǽ����õ�ϰ�ߣ���Ϊ������˽�����������һ�����ִ���λ���⽫�dz���
� ѡ�����������ȫ�Ե��
쳣�ķ�ʽ�⣬ֻ���쳣��Ϣд�����־ļ����������ദ�����Ҳͬ��� �ס
��1.5.2 ��Ҫ�Ե��쳣��Ϣ��
����Щ������Ȼ�����׳쳣����ȴ���쳣��Ϣ�Ե��ˡ�
��Ϊ�쳣��¶�꾡����Ϣ�dz���Ա��ְ��������ڡ�������ڱԭʼ�쳣�
�Ϣ�����ǰ���¸��Ӹ�ḻ�����Ի���������ݣô
� � � � Ի� � � � � � ԭʼ���쳣��Ϣֱ��չʾҲҪǿ�öࡣǧ��Ҫ�Ե��
��ʼ���
쳣��
��1.5.3 �����Ҫ���
ⲻ��Ҫ�����׳쳣
��1.5.4 �����Ҫ�������
ⲻ��Ҫ���������׳쳣
�������Ϊ�˰��װ쳣��Ŀ�ģ�����������Ϣ��������װ쳣������ô�Ǻ���ġ������в����ٴ룬�����쳣
û�����κδ�������⽫��ٴ��׳ν�����һ�β����쳣�����׳쳣����ģ����������˺���
1.5.5 ����ָ�����쳣����ͨҪʹ���
ͨ õ�System.Exception.����
//����
����try
����{
����}
����catch(Exception exc)
����{
��
����}
����//�Ƽ�
����try
����{
����
����}
����catch(System.NullReferenceException exc)
����{
����
����}
����catch(System.ArgumentOutOfRangeException exc)
����{
����
����}
����catch(System.InvalidCastException exc)
����{
����
����}
1.5.6 Ҫ��finally���ͷ�ռ�õ���Դ
ʹ��Try...catch...finallyʱ��
Ҫ��finally���ͷ�ռ�õ���Դ����ӣ��ļ���ȣ���Ȼ��Catch�������ռ�õ���Դ�����ͷš�
����try
����{
����...
����}
����catch
����{...}
����finally
����{
����conntion.close()
����}
1.6 ����
��������һ��ܻ�ļ����������ڼľ�̬
����תΪ�ӳ�ٵ������ڼĶ�̬
���
��ںܶ ೡ���£�����ܵ������رƣ���
���Ի����������չ�ļܹ�����������������뾲̬����ȣ���̬ ���������
�̬ɽ ϴ�� ˺���
��1.6.1 �������
��member
invocation����Ա���ã������̬
��������̬
�ö�� ������Ҫ��
�Activator.CreateInstance �Type.In
vokeMember�ȡ�
��1.6.2 ��̬
��������
��C#��Ҫ֧�� 5 �ֶ�̬��������ķ�ʽ��
����1. Type.InvokeMember
����2. ContructorInfo.Invoke
����3. Activator.CreateInstance(Type)
����5. Assembly.CreateInstance(typeName)
��1.6.3 ��̬
��������
���Ӳ��Խ�����Direct
Call��Type.InvokeMemberҪ�ӽ�������������MethodBase.Invoke��Ȼ��Type.InvokeMemberҪ����
���Direct Call����270�����ҡ��ɼ�̬
�������õ������Ƿdz����µġ����ǵĽ����ǣ����Ҫ�����
���������ض � � �Ҫʹ�ã�
��1.6.4 �Ƽ��ʹ��ԭ��
��ģʽ
����1�� ��������÷�̬ʹ������ܣͶ�̬
��
����2�� ʹ�ýӿ�÷��ڵʽ����̬����
�Ϊ �� � ڰ
����3�� ʹ��Activator.CreateInstance(Type)��ʽ��̬
��������
����4�� ʹ��typeof��������GetType����
����ģʽ
����1�� ��� ѻ��Type������£�ȴʹ��Assembly.CreateInstance(type.FullName)
1.7 ����뼼��
����������һЩӦ�ó����£�����������ܵĻ���뼼�ɡ��Դ�����·�ڹؼĴ��룬���������
�Ż����Ǻ�������ġ���������Բ���Ҫ�����һ
�ͨ ͨ
����һ �ֺõ�ϰ��Ҳ��������ġ�
��1.7.1 ѭ��д��
�����������
�ж ѭ��� þֲ������¼������ֲ��������������Ż�Ϊֱ���
ʹ�üĴ���������� ��
ͨӶѻջ� з���
ı���ٶȿ 졣����� ʵ��Ǹ��Ӽ������ԵĻ�������Ч������ԡ�for (int i = 0, j =
collection.GetIndexOf(item); i < j; i++)
����Ҫ˵����ǣ�����д������CLR�������Count����û�����壬 ԭ���DZ������Ѿ������ַ�ʽ�����
���رŻ���
��1.7.2 ƴ�ַ�װ
��ƴ֮�������װ
���� ɾ���Ǻܵ�Ч��д������Щ������ѭ������� ������ڴΪ1������
�Ƽ������д����
if (str.Length == 0 )
str = vals[i].ToString();
else
��ʵ����д���dz���Ȼ������Ч�ʺܸߣ���ȫ����Ҫ�ø�Remove���������ȥ��
��1.7.3 ������μ����Ԫ��
����ȡ����Ԫ��ʱ����ʱ��Ҫ���Ԫ���Ƿ������������ͨ�ڡȵ���ContainsKey����Contains�����
���Ȼ����ٻȡ����Ԫ������ءд���dz��������
���������Ч�ʣ�������ֱ�ӻ�ȡ����Ȼ���ж϶����Ƿ�Ϊnull�ȷ��Ԫ���Ƿ��������ڡHash
table������Խ�ʡһ��GetHashCode���ú�n��Equals�Ƚϡ�
�������ʾ��
if ( this .idTable.ContainsKey(id.ToString())
return data1;
��1.7.4 �������������ת
����������ʾ�����а��������������ת
if (obj is SomeType)
SomeType st = (SomeType)obj;
st.SomeTypeMethod();
Ч�ʸ�ߵ������£�
if (st != null )
{
st.SomeTypeMethod();
1.7.5Ϊ�ַ��������������Ҫֱ�Ӱ��ַ�����" "���˫��װ档
//����
����//
����obj.Status = "ACTIVE";
����//�Ƽ�
����obj.Status = C_STATUS;
����//����
����sXML += "";
����sXML += "Data";
����sXML += "";
����sXML += "";
����//�Ƽ�
����sbXML.Append(" ");
����sbXML.Append("");
����sbXML.Append("Data");
����sbXML.Append("");
����sbXML.Append("");
��1.7.7 ������ѭ��������������
Ӧ����ѭ����������������ѭ�������ʼ����
//����
����{
����}
����//�Ƽ�
����{
��
1.8 Hashtable
1.8.1 Hashtable����
Hashtable��һ��ʹ�÷dz�Ƶ���Ļ������͡ ���Ҫ���Ӱ��Hashtable��Ч�����������أһ��ɢ���루
GetHashCode�����������ǵ�ֵ�Ƚϣ � Equals � � � � � � � � H a s htable � � � � ʹ � ü � � ɢ � � � 뽫���
�ֲ�����ͬ�Ĵ 洢 Ͱ�У�������ڸ��ضĴ 洢 Ͱ��ʹ�ü��Equals�������в��ҡ�
����õ�ɢ�����ǵ�һλ������������������أÿ ͬ ��� 롣
ͬ ļ��вͬ ���ɢ���
Equals����Ҳ����Ҫ����Ϊɢ��ֻ��Ҫ��һ�Σ���洢 Ͱ�в��Ҽ������Ҫ���Ρ���ʵ�ʾ��鿴
��ʹ��Hashtableʱ��Equals���������һ���ռ��һ�����ϡ�
System.Object���ṩ��Ĭ�ϵ�GetHashCodeʵ�֣�� ʹ�ö��������ڴеĵ�ַ��Ϊɢ���롣������
�һ����Hashtable������������ӣ�ÿ�θ��ݴ��ݵOQL���ʽ�����һ��ExpressionList��������ٵQuer
yCompiler�ķ�������õ�CompiledQuery������ExpressionList�����CompiledQuery������Ϊ��ֵ�
Դ 洢��Hashtable�С�ExpressionList����û������GetHashCodeʵ�֣��� 䳬�
�ArrayListҲû�У���������õľ���System.Object���GetHashCode ʵ �֡������ ExpressionList���
��ÿ�ι��죬�����
�
ͬ
�HashCodeÿ �ζ��� ���������
� CompiledQueryCache���û����������
�á �Ԥ
��� СС����©������ �ش
��������⣬������ ڽOQL���ʽƵ��������CompiledQueryCache���������ɷ�������ڴй©����
�������������������ṩһ���ʵ
��������ṩһ���ʵ�֣�������� ɢ����Ϊ���0����Ȼ��ᵼ�����ж����۵�ͬһ��洢
Ͱ�У�Ч�ʲ����ߣ������ٿԽ�����ڴй©���⡣��Ȼ�����ջ��ǻ�ʵ��һ���Ч��GetHashCode�����ġ
�
�����Ͻ�����ЩHashtable������Ҫ��ϣ������⣺���ʹ��Hashtable����Ӧ�ü��һ�¶����Ƿ��ṩ���ʵ���Ge
tHashCode��Equals����ʵ�֡������� п��ܳ���Ч�ʲ�������Ԥ����Ϊ��������
1.8.2 ʹ��HashTale���������ֵ伯�����͵����Σ�
�����ֵ伯������(��StringDictionary,NameValueCollection,HybridCollection)����������
�ݵʱ�����ʹ��HashTable����
�ܶ�Ƿ��ͼ�����ж�Ӧ�ķ��ͼ���࣬ ������ ࣺ
dz��õķǷ��ͼ������Լ���Ӧ�ķ��ͼ����
�Ƿ��ͼ����� ���ͼ�����
ArrayList List<T>
HashTable DIctionary<T>
Queue Queue<T>
Stack Stack<T>
SortedList SortedList<T>
1.9 ����ʹ��ArrayList��
ͣ������Ϊ�κζ�����ӵ�ArrayList��Ҫ����ΪSystem.Object��� ��� �ͣ ArrayListȡ�����ʱ��Ҫ�����ʵ�ʵ��
��͡
�����ʹ���Զ���ļ������ʹ���ArrayList��.net
�ͣ з�� �
2.0�ṩ��һ���µ���� �� �����һ��
ǿ �ͣ�� �ʹ�
�÷ �ͣ���Ͼ��Ա����������
�Ϳ �ͣͼ˷ �Ͳ �ķ ͣ ������� �ܡ
����
1.10��XML�����ȡ���
�������ֻ�Ǵ�XML�����ȡ�����ֻ���ݣXPathDocument����XMLDocument,�����������
//����
����XmlDocument xmld = new XmlDocument();
����xmld.LoadXml(sXML);
����txtName.Text = xmld.SelectSingleNode("/packet/child").InnerText;
����.
����//�Ƽ�
����iCount = xpNodeIter.Count;
����while(xpNodeIter.MoveNext())
����{
����sCurrValues += xpNodeIter.Current.Value+"~";
����}
����}
��1.11 ����ʹ�õ���ݹú�Ƕ��ѭ����
ʹ�����ǻ�����Ӱ�������ܣ��ڲò��õ�ʱ���ʹ�á�
��1.12 ʹ���ʵ���Caching������������
��2. Ado.Net
2.1 Ӧ��Ado.net��һЩ˼��ԭ��
����1. ������ʹ�õķ�ʽ��������ݷʲ�
����2. ��������ⲻ����ݣҪ�IJ���
����3. ʹ�÷����ʻ��������
����4. ��Ҫʱ���룬�����ͷ�
����5. �رտɹرյ���Դ
����6. ������
����7. �����Ҫ�����
����8. ѡ���ʵ�����������
����9. ʹ�ô 洢���
2.2 Connection
����������ݿһ�ֹ�����Դ�����ҴرյĿ���ϴ�Ado.netĬ����������ӳ��ػƣ�����رӲ� � � �
�Ĺ�������رӣ���ֻ�ǰ���ӷŻ���صӳ��С���Ϊ���й���������Դʼ�������ģ������ʹ����Ӻ����ر
��ӣ���ô���п��ܵ���������ӵ��̱߳� �������סӰ�����ϵͳ�����ܱ��֡��
��2.2.1 �����ڷд����ر
��������
ԭ�м � 㺬�壺
����1. ��ҪĿ����Ϊ�����Ҫʱ����;����ͷ�
����2. ��Ҫ����Ĺ��캯���д���ӡ�����������ͷ���ӡ���Ϊ�⽫����������գ���������ֻ����ڴӰ�죬�
���ʱ��
����ǿ��һ��� �� ֮���ڷ䴫���
�ӵ�Σ��������ѹ����������һ�����������
�û ���ʱ�������Ҫ�ȱ� İ�����ܾþ��õ���ӳ��е�������ӡ���
���������ΪA������һ�����Ӵ��
���Ӵ�����ݵB��������B�����ֵ�����һ�����д���رӵ�C��������A�
�������������ڼ䣬��������Ҫռ�������Ӳ��ܹ��ɹ�����������е�һ�����ռ��ʱ�仹�ر
����������ӳ���Դ���ţ�Ӱ�������ϵͳ�Ŀ������ԣ�
2.2.2 ��ʽ�����ر
��Connection��������������ʱ���Ա��رգ�������������Ǻܲ��õIJ��ԡ��Ƽ�ʹ��using�����ʽ����رӣ
�������
conn.Open();
2.2.3 ȷ����ӳ�����
ͬ��Ado.net��Ϊÿ� �����Ӵ������ӳ
ͬ ����أӦ��ȷ����Ӵ��������������û������ص
Ϣ�����⣬Ҫ����עӴ � � Ǵ � С д � � е ġ �
��2.2.4 ��Ҫ�������
�����磬����ӻ��浽 Session��Application�С���������ӳ�����ص£�������û���κ����塣
��2.3 Command
��2.3.1 ʹ��ExecuteScalar��ExecuteNonQuery
������뷵���
�Count(*)��Sum(Price)��Avg(Quantity)����ĵ�ֵ������ʹ��ExecuteScalar������ExecuteSca
lar����صһ�е�һ�е�ֵ���������Ϊ���ֵ������ءΪ����һ��������ɣ�����ExecuteScalar����
��˴��룬�����������ܡ
��ʹ�ò������е�SQL���ʱ�������
����ݣINSERT��UPDATE��DELETE�������������ֵ����ʹ��Exe
cuteNonQuery�����������������ڴDataReader���κβ���Ҫ����
��2.3.2 ʹ��Prepare
������Ҫ�ͬ��ִ�ظһSQL����Σ��ɿ���ʹ��Prepare��������Ч�ʡ���Ҫ����עǣ����ֻ��ִ��һ�λ���Σ���
��ȫû�б�Ҫ�����磺
cmd.CommandText = "insert into Table1 ( Col1, Col2 ) values ( @val1, @val2 )";
cmd.Parameters[0].Value = 1;
cmd.Parameters[1].Value = "XXX";
cmd.Prepare();
cmd.ExecuteNonQuery();
cmd.Parameters[0].Value = 2;
cmd.Parameters[1].Value = "YYY";
cmd.ExecuteNonQuery();
cmd.Parameters[0].Value = 3;
cmd.Parameters[1].Value = "ZZZ";
cmd.ExecuteNonQuery();
2.3.3 ʹ�ð�� ��
��SQL�����Ҫ�ȱ������ִ�мƻ���Ȼ����ִ�С����ʹ�ð���ķ�ʽ����ô���ִ�мƻ��Ϳ��Ա�����ִ�е�SQL�����
�á������ֱ�ӰѲ���ϲ�����SQL����У����ֵ���ڲǧ����ִ�мƻ������Ա������ˡ���������Prepareһ�ڸ
���ʾ�����Ѳ���ֱֵ��д��insert����У���ô������Ĵε��ý���Ҫ�����Ĵ�ִ�мƻ���
��Ϊ��������������������ʧ��Ҫ��һ��ʹ�ð����ʽ��
��2.4 DataReader
��DataReader���ʺ����ֻ���ڷĵ����������ݼDataSet������
ͬ ͬ �����ݼȫ�������ڴУ�����
�治�Ϸ����read����һ��������������ݻе�����ݾȡ��������Դ����һ����
������ݻС������������ݿ⣬DataReader������ӣ�DataSet������ӶϿ���
��2.4.1 ��ʽ��رDataReader
����������ƣ�Ҳ��Ҫ��ʽ��رDataReader�����⣬�����DataReader�����Connection��ΪDataReader�
���Ļ����ɿ���ʹ��Command�����ExecuteReader(CommandBehavior.CloseConnection)��ʽ������Ա
�֤��� DataReader��رʱ��ʱ�Զ��
ͬ ͬ �رConnection��
��2.4.2 ������ŷ��ʴ����������ŷ�������
��ߡ����ᱻƵ�����ã�������ѭ���У���ô�ɿ��
����Row�з���ij�����ԣ�ʹ������ŵķ�ʽ��ʹ����Ʒ�ʽ��ϸ��
Ǵ����Ż���ʾ�����£�
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
2.4.3 ʹ�����ͻ�������������
����Row�з���ij�����ԣ���GetString��GetInt32������ʽָ�����͵ķ�������Ч�ʽͨ�ͨ�õ��GetValue������
ϸ��ߣ���Ϊ����Ҫ����������ת
��2.4.4 ʹ�ö����ݼ
�����ֳ������Կ���һ�η�����������ض���ݼ罻����������Ч�ʡ�ʾ�����£�
SqlDataReader dr = cmd.ExecuteReader();
while (dr.read())
dr.NextResult();
while (dr.read())
//
2.5 DataSet
��2.5.1 �������������
ӿ�е �Ч�
�������Ҫ���������У����������������ַ�ʽ��
��1. ����DataTable��PrimaryKey
�������� ڰPrimaryKey�����е�������עʱӦ����DataTable.Rows.Find������һ����õ�Select���
�������������
��2. ʹ��DataView
�������� ڰNon-
ͨPrimaryKey�����е�����ΪDataTable����һ��DataView������
ͨ SortOrder����ָʾ�������˺�ʹ��Find
��FindRows������
3.ASP.NET
3.1 �������г̣
�Reduce Round Trips��
��ʹ������ķ������Լ���Web�������Browser֮ � � � � � � г̣�
��1. ΪBrowser���û���
2. ����ҳ�����
���������������ܣҳ��������������һ�δ��͵��ͻ��ˣ�����Ա���Ƶ���
���С����������ɵĶ�����罻�����������ַ�ʽ��ҳ�洦�����
� ֮ ǰ�ͻ���������ҳ�����
�������ݣһ��ҳ��ijߴ�ϴ�Ļ����ɿ���ʹ��Response.Flush�������÷���ǿ��������Ϊֹ�������ڻе
�������ݣӦ�����ú�����㷨���Ƶ���Response.Flush�����Ĵ���
3. ʹ��Server.Transfer��������ض
��ʹ��Server.Transfer����������������ضResponse.Redirect����������ԭ����Response.Red
irect����Broswer����һ����Ӧͷ������Ӧͷ��ָ�������ضURL��֮ ��� Browerʹ���µ�URL���·����
����
Server.Transfer�� �ֱ����һ��ķ���˵��ã���ȫû����Щ����
����Ҫ��עServer.Transfer�о����ԣ���һ��������ȫ��飻�ͬ��������ֻ���ڶһWebӦ���
�ڵҳ�������ת
3.2 ��������ͳ�ʱ�����ҵ
�������Ҫ���������ʱ�����еIJ�����Կ���ʹ���첽��
�õĻ��ƣ��Ա�Web�������ܹ����������������
��1. ʹ���첽��ʽ����Web�����Զ�̶���
��ֻҪ�п��ܾ�ͬ�
Ҫ����������Ĵ������ж�Web�����Զ�̶���� �����
� ã���Ϊ��ռ�õ��ǵ�ASP.NET
�̳߳� ��еĹ����̣߳�- ��⽫ֱ��Ӱ��Web��������Ӧ��������������
2. ���Ǹ���Ҫ����ֵ��Web������Զ�̶
���ķ������OneWay����
3. ʹ�ù������
������ҵ�ύ���������ϵĹ�������С��ͻ�����������������
ͨ ҵͨ ͨ
��ҵ� ͨѯ�ִ�н��
3.3 ʹ�û���
���������ܴ��̶�ںϾ�ASP.NETӦ�õ���������ܡAsp.net֧��ҳ�������ҳ�沿�ֻ��棬��
�ṩCache API����Ӧ�ó����Լ�����
��Լ�������ݡǷ�ʹ�û���ɿ��������Ҫ�㣺
����1. ʶ������ʴ�
�����ʴ�۽ϴ�����
����2. �����Ҫ���������ݵ��ױ
����3. �������ʹ�ݵƵ��
����4. ��Ҫ������������ݷ�����Ͳױ���ݺ룬ֻ���治�����
3.4 ���߳��
��1. ���������������д����߳� �
������ִ�������� ����߳ASP.NET
��� thread
pool�еĹ����̣߳ ̣߳
� �̣ͬ߳ ͬһ��
�ͬ �ͬ Client���������һ��������
ͬ �߳� ������
3. ����������������߳��
���ο�"��������ͳ�ʱ�����ҵ"С� �ڡ
4. �����첽����
�����1��������ơ��첽���ûᵼ�
´����µ��̣߳�- ���ӷ�����ĸ��������ԣ����û�в�������ҵҪִ�У��Ͳ�Ҫִ���첽���á�
3.5 ϵͳ��Դ
����1. ����ʵ����Դ������������
����2. ��ȷ����صDispose��Close�ͷ�ϵͳ��Դ
����3. ��Ҫ�����ʱ��ռ����Դ���е���Դ
����4. ������������룬����������ͷ�
3.6 ҳ�洦��
��1. �����СPage�ijߴ�
�������̿
�����ؼơ�CSS��class����ơ�ȥ����ν���кͿո��
�ò ��Ҫ�� ViewState
��2. ����ҳ�����Ļ�����Buffer��
�����Buffer�Ļ��Ʊ��رգ�����������ķ�����
�
��ʹ�ó����ҳ�����棺
��Response.BufferOutput = true;
ʹ��@Page����شҳ��������ƣ�
ʹ��Web.config��Machine.config�����ļ���<pages>�ڵ㣺
��3. ����Page.IsPostBack�Ż�ҳ�����
��5. �Ż����Ӻʹ�۽ϴ��ѭ��
��6. �������ÿͻ��˵ļ�����Դ����һЩ�����תƵ��ͻ��˽���
3.7 ViewState
��ViewState��Asp.netΪ����˿���ؼҳ��̬��ش�֮�����״Ϣ����Ƶ�һ�ֻ��ơ�
��1. ��رViewState
�������Ҫ����ҳ��̬������״ҳ�治�� ����شPostBack��������Ҫ������˿
�����¼��ؼÿ��ҳ��ˢ��ʱ�������¼������ؼ����ݣô�Ͳ���Ҫ��ViewState���¼ҳ��� ̬״ˡ����Զ��ض
���WebControl����EnableViewState���ԣ�Ҳ������ҳ��һ�����ã�
2. ��ǡ����ʱ����ʼ��������ؼ
��ASP.NET�Ŀ�ִ���ؼй��캯���ʼ���������ڼõ����Բ��ᱻ���ٱ仯������ڳʼ�����������Ե��
Ķ��ᱻ���٣������ռ�¼��IEҳ���__VIEWSTATE֮�С����ԣ�ѡ�����ij�ʼ�������ؼԵ�ִ�е 㣬
����Ч�ļ�Сҳ��ߴ硣
3. ����ѡ��ŵ�ViewState�е�����
���ŵ�ViewState�е����ݻᱻ���л�/�����л���Asp.netΪString��Integer��Boolean�Ȼ����͵����л
������Ż������Array��ArrayList��HashTable�洢���ǻ�����Ч��Ҳ�ϸ
ߣ���������������Ҫ�ṩ��������תType
Converter��������ʹ�ô�۰���Ķ��������л�����
4.JScript
4.1 JScript�����Ż��Ļ���
ԭ��
��1. ��������ִ���ٵؼд���Ͼ��Խ��������˵��ÿһ��ִ�в��裬����Ҫ�ͽ���������һ�ν�����
��2. ������ʹ���������õĹ������ܣ紮��ӡ�
��3. ������ʹ��ϵͳ�ṩ��API������Ż�����Ϊ��ЩAPI�DZ���õĶ����ƴ��룬ִ��Ч�ʺܸߡ�
��4. ��д����ȷ�Ĵ��롣������ݴҪ�������ܴ�۵ ġ�
4.2 JScript���Ա�����Ż�
��4.2.1 ���
��1. ���ʹ�þֲ������
����Ϊȫ�ֱ����ʵ��ȫ�ֶ���ij�Ա����ֲ������ջ�϶��壬���Ȳ��ң����������ȫ�ֱ��Ҫ�ߡ�
2. �����һ���������������ֵ��
3. ʡ�Բ���Ҫ�ı�����塣
��������Ķ�����Ա�һ�������ֱ��ʹ�ó����
4. ʹ��Object���Զ���ֵ��
��Object�ĸ�ֵ�������ڲӶ���ʱЧ�ʸ�ߡ�
�����磬���Խ�����Ĵ��룺
car.make = "Honda";
car.model = "Civic";
car.transmission = "manual";
car.miles = 100000;
�滻�ɣ�
car = {
make: "Honda",
model: "Civic",
transmission: "manual",
miles: 100000,
4.2.2 ����
�
��1. ���������ҵ��м���
2. ���洴��ʱ��ϳ��Ķ���
���Զ���������Date��RegExp��������ڹʱ������Ĵ��ʱ�䡣�����Ը��ã�Ӧ���û���ķ�ʽ��
4.2.3 �ַ����
���������ʹ����ַ���s+=anotherStr�������Ҫʹ��s=s+anotherStr��
�����Ҫ��Ӷ���ַ�Ӧ��ʹ��"+"���磺
����s+=a;
����s+=b;
����s+=c;
����Ӧ��д��
����s+=a + b + c��
2. ��Ӵ�����ַ�Ӧʹ��Array��join������
��������ռ��ַ����ʹ��JavaScript���黺�棬���ʹ��join���������������£�
buf.push(i.toString());
4.2.4 ������ת
��1. ʹ��Math.floor()����Math.round()���������͡�������ת
�����������ܶ���ת�������ͣ��������׳ϲ��ʹ��parseInt()����ʵparseInt()�����
� � � � �֣ Ǹ����������������������תӦ��ʹ��Math.floor()����Ma
�����������ڽ ��ַ�ת
th.round()��
����������е����һ��
ⲻ�Math �� ���������ڲMath.floor()��ʵ��û�ж���ٲѯ�����͵��õ�ʱ�䣬�
������ٶġ�
2. �Զ���Ķ����Ƽ����ʹ��toString()�����������������ת
�������Զ���Ķ����������toString()����������������תĻ����Ƽ���ʽ����toString()����Ϊ�ڲ
��IJ����������ڳп����᳢ ���Զ����toString()���������ܷ���תΪString������ֱ�ӵ�������Ч
᳢
�ʻ��ߡ�
4.2.5 ѭ�����Ż�
��1. ��������ʹ��for(in)ѭ����
����JavaScript�У����ǿ���ʹ��for(;;),while(),for(in)����ѭ������ʵ�ϣ�������ѭ����for(i
n)��Ч�ʼ�����Ϊ���Ҫ�� ѯɢ�м�ֻҪ���Ծ�Ӧ�þ�����á�
2. Ԥ�ȼ���collection��length��
��Ч����ã���������ڴѭ���С�
3. �������ѭ���ڵIJ���
��ѭ����ڵÿ�������ᱻ�Ŵ�Ϊѭ������ı������ԣ���ѭ����С�ĸĽ������ܵ����������϶��ǿɹ ۵ ġ�
4. ʹ��ѭ�����ݹ顣
�����ѭ�������ݹЧ�ʸ��һЩ������ݹŵ�������ʽ�ϸ���ȻһЩ�����ԣ�� �ڲӰ������ά���Ե�ǰ���£���ѭ��
���ݹ顣
4.2.6 ������
��1. ���ʹ���������õ�����
2. �����Ҫʹ��eval��
��ʹ��eval���൱��������ʱ�ٴε��ý������棬�Դ�������������ݽУ���Ҫ��Ĵ��ʱ�䡣
3. ʹ��prototype����closure��
��ʹ��closure�����ܺ����϶�����ڴDz���ġ����closureʹ��������ͻ��Ϊһ�����⡣���ԣ��������
��this.methodFoo = function()
���滻�ɣ�
��MyClass.protoype.methodFoo = function()
����closure��������ڶʵ����ͬ�
в��prototype �У �еĶ �����������������������ʵ����
4. ����ʹ��with��䡣
��With�����ʱ�չ������ҵķ�Χ����ʡ�����ֵ�¼��ʱ�䣬�������˸���ִ��ʱ�䡣�
�Ϊÿ�������ƶ�Ҫ��ȫ�ַ�Χ���ҡ����ԣ����Խ�����Ĵ��룺
with (document.formname)
field1.value = "one";
field2.value = "two";
�����
form.field1.value = "one";
form.field2.value = "two";
4.3 DOM���
��4.3.1 ����DOM��ڵ
� document.write���ҳ�����������ݣһ������Ԫ���ָ�����أһ��div����span�������
����Ƚ� ��
ͨ�
����ǵ�innerHTMLЧ�ʸ�ߡ�
��������innerHTML�ķ�ʽ�� ��
�createElement
�ͨ �������� ��ڵЧ�ʸ�ߡ���ʵ�ϣ�����Ԫ��صi
nnerHTML�Ǵ�����ڵЧ����ߵ�һ�ַ�ʽ��
��������ʹ��createElement������������ĵ��д����ֳɵ����ڵ㣬
Ӧ������cloneNode()��������Ϊʹ��createElement()�����������Ҫ���ö��Ԫ�ص
����ԣ�ʹ��cloneNode()����Լ������Ե����ô����������Ҫ���� � ͬ� � � � � � Ҫ� � � � ͬ �ܶ�Ԫ
��أӦ������һ�����ڵ㡣
4.3.2 ���߲������͵�DOM��
�������һ���ӵ�DOM��ʱ�������ȹ��죬��������������ٽӵ�DOM����ʵ��ڵ㡣���ܹ���ʡ����ˢ�µ�ʱ�
䡣
ͬ �������༭ һ���ӵ���ʱ�������Ƚ����DOM����ɾ��ȱ ༭���������ӻ����
��4.3.3 �����ѯ
��ʹ��[""]��ѯҪ��.item()��졣����.item()�����һ�β�ѯ�ͺ���ĵ��á�
4.3.4 ��ʱ��
�������Ե��Dz������еĴ��룬�
�Ӧ��ʹ��setTimeout����Ӧ����setInterval��setTimeoutÿ��Ҫ��������һ��ʱ�
�
4.4 ����
��1. �����С�ļ��ߴ硣
�֧ �ִ�� 뷢�
����JScript�ļ����صĿ��С��ո���עȥ��������ڼСJS�ļ��ijߴ磬�������صʱ�䡣������ͨ����
���
ͬ��2. �����Ҫ��һ��
ͬ Page��ʱ����
�JScript
ͬ �VBScript ����
��3. ��Page��ڵJScript���뵽�����JS�ļ��С�
��4. ��Page��ڵJScript������Page�������棬���������ҳ�����Ӧ�ٶȡ�
��5. ����cache������JScript�ļ���������ش
��6. ��HTML����дJScript�ļ���URLʱ��ͳ��עһ��Сд�������������ǰ��URL������ļ���
ͣ�������CSDN����
ͣ ���������תhttp://blog.csdn.net/bluedoctor/archive/2009/02/03/38
59847.aspx