HTML clipboardResource Management
-
Use Close or Dispose on objects that support it using the Using Statement
-
Implement Finalize only if you hold unmanaged resources across client calls,
UnManaged code should be removed, since it won't be managed by the CLR
Session Usage
-
Disable session state if you do not use it.
-
Use the ReadOnly attribute wherever required
-
Remove the stored values from the Session
-
Don't store infrequently used values in Session
-
Check if the entire object needs to be stored. If not, store the individual
attributes with unique key and fetch them later
-
Don't store the same object multiple times
Page Size
- Reduction of page size - remove unwanted/hidden columns in grid/list views
-
Reduce the size of the view state, post-back information which is needed
-
Post back information about the labels, controls, JavaScript which have been
used for display purpose no need to post back this data
-
In general disable view state on control-by-control basis
Ajax
-
Avoid Unnecessary AJAX Calls
DataReader
-
Code should use drOutput.IsDBNull(index)? Instead of
drOutput["COL_NAME"]!=Convert.DBNull)
-
Use DataReader methods like (GetString, GetInt64, etc) to read value from Data
reader. Instead of using
GetObject
-
Usage of GetOrdinal methods in IDataReader block
ExecuteScalar
-
If only one value is expected from database use ExecuteScalar. Else, use
ExecuteReader. Avoid using ExecuteDataset.
Collection Usage
-
Implement strongly typed (Generics) collections to prevent casting overhead
Reflection & Late Binding
-
Prefer early binding and explicit types rather than reflection
Avoid XMLDocument
-
Avoid XMLDocument wherever necessary, Instead use XPathDocument, which is read
only.
String Handling
-
If ToLower,ToUpper is encountered change them to Compare function. If string
concatenation is done by += and the string is too large then convert it to
StringBuilder. When declaring a string use String.Empty rather thatn = "". When
comparing empty string compare with Lenth > 0.