<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1200192102127529166</id><updated>2024-10-24T09:34:22.037-07:00</updated><title type='text'>Technicals</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-3930797031316751754</id><published>2012-02-02T20:55:00.000-08:00</published><updated>2012-02-02T20:55:17.947-08:00</updated><title type='text'>Crack MS ACCESS Password</title><content type='html'>Today I had to recover a password of a Microsoft Access database (mdb) file that I created and protected couple of years ago. As the file was created couple of years ago I had no clue on what password I used to protect mdf file as well as no hints on guessing the password too. The only option I had is to search for some applications that cracks the password of the Microsoft Access file.&lt;br /&gt;
&lt;br /&gt;
After googling the web for couple of minutes I found a brilliant free application that cracks Access files – &lt;a href=&quot;http://www.nirsoft.net/utils/accesspv.html&quot;&gt;Access PassView&lt;/a&gt;. Using the application I recovered the password in a fraction of a second. The speed at which application cracked the password is really amazing. I was expecting that application is going to use brute force mechanism to crack the password and it will take some time. But the application is so brilliant; it does its job very quickly.&lt;br /&gt;
&lt;br /&gt;
The official web site of the application says it is capable to recovering passwords from MS Access 95/97/2000/XP&lt;br /&gt;
&lt;br /&gt;
    This utility reveals the database password of every password-protected mdb file that created with Microsoft Access 95/97/2000/XP or with Jet Database Engine 3.0/4.0 . It can be very useful if you forgot your Access Database password and you want to recover it.&lt;br /&gt;
&lt;br /&gt;
Even though there is no official word about recovering passwords from MS Access 2003 files, it recovered the password from my MS Access 2003 file. I tried the application on Windows  XP, Vista and Windows 7. Another highlight of the application – there is no need to install. It comes as a ZIP file that can be extracted and start using it. What else we can ask for!. Hats off to the developer of this application.&lt;br /&gt;
&lt;br /&gt;
To Goto the developer site please click the link&lt;br /&gt;
&lt;a href=&quot;http://www.nirsoft.net/utils/accesspv.html&quot;&gt;Download Software&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/3930797031316751754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2012/02/crack-ms-access-password.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3930797031316751754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3930797031316751754'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2012/02/crack-ms-access-password.html' title='Crack MS ACCESS Password'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-2099570110758100675</id><published>2011-06-21T11:49:00.001-07:00</published><updated>2011-06-21T11:49:27.671-07:00</updated><title type='text'>List of 221 MS Word Short Cut Keys</title><content type='html'>1&lt;br /&gt;
Ctrl + Shift + A&lt;br /&gt;
AllCaps&lt;br /&gt;
Makes the selection all capitals (toggle)&lt;br /&gt;
&lt;br /&gt;
2&lt;br /&gt;
Alt + Ctrl + 1&lt;br /&gt;
ApplyHeading1&lt;br /&gt;
Applies Heading 1 style to the selected text&lt;br /&gt;
&lt;br /&gt;
3&lt;br /&gt;
Alt + Ctrl + 2&lt;br /&gt;
ApplyHeading2&lt;br /&gt;
Applies Heading 2 style to the selected text&lt;br /&gt;
&lt;br /&gt;
4&lt;br /&gt;
Alt + Ctrl + 3&lt;br /&gt;
ApplyHeading3&lt;br /&gt;
Applies Heading 3 style to the selected text&lt;br /&gt;
&lt;br /&gt;
5&lt;br /&gt;
Ctrl + Shift + L&lt;br /&gt;
ApplyListBullet&lt;br /&gt;
Applies List Bullet style to the selected text&lt;br /&gt;
&lt;br /&gt;
6&lt;br /&gt;
Alt + F10&lt;br /&gt;
AppMaximize&lt;br /&gt;
Enlarges the application window to full size&lt;br /&gt;
&lt;br /&gt;
7&lt;br /&gt;
Alt + F5&lt;br /&gt;
AppRestore&lt;br /&gt;
Restores the application window to normal size&lt;br /&gt;
&lt;br /&gt;
8&lt;br /&gt;
Ctrl+B&lt;br /&gt;
Bold&lt;br /&gt;
Makes the selection bold (toggle)&lt;br /&gt;
&lt;br /&gt;
9&lt;br /&gt;
Ctrl + PgDn&lt;br /&gt;
BrowseNext&lt;br /&gt;
Jump to the next browse object&lt;br /&gt;
&lt;br /&gt;
10&lt;br /&gt;
Ctrl + PgUp&lt;br /&gt;
BrowsePrev&lt;br /&gt;
Jump to the previous browse object&lt;br /&gt;
&lt;br /&gt;
11&lt;br /&gt;
Alt + Ctrl + Home&lt;br /&gt;
BrowseSel&lt;br /&gt;
Select the next/prev browse object&lt;br /&gt;
&lt;br /&gt;
12&lt;br /&gt;
Esc&lt;br /&gt;
Cancel&lt;br /&gt;
Terminates an action&lt;br /&gt;
&lt;br /&gt;
13&lt;br /&gt;
Ctrl+E&lt;br /&gt;
CenterPara&lt;br /&gt;
Centers the paragraph between the indents&lt;br /&gt;
&lt;br /&gt;
14&lt;br /&gt;
Shift+F3&lt;br /&gt;
ChangeCase&lt;br /&gt;
Changes the case of the letters in the selection&lt;br /&gt;
&lt;br /&gt;
15&lt;br /&gt;
Left arrow&lt;br /&gt;
CharLeft&lt;br /&gt;
Moves the insertion point to the left one character&lt;br /&gt;
&lt;br /&gt;
16&lt;br /&gt;
Shift + Left arrow&lt;br /&gt;
CharLeftExtend&lt;br /&gt;
Extends the selection to the left one character&lt;br /&gt;
&lt;br /&gt;
17&lt;br /&gt;
Rt arrow&lt;br /&gt;
CharRight&lt;br /&gt;
Moves the insertion point to the right one character&lt;br /&gt;
&lt;br /&gt;
18&lt;br /&gt;
Shift + Rt arrow&lt;br /&gt;
CharRightExtend&lt;br /&gt;
Extends the selection to the right one character&lt;br /&gt;
&lt;br /&gt;
19&lt;br /&gt;
Alt + Shift + C&lt;br /&gt;
ClosePane&lt;br /&gt;
Closes the active window pane (if you are in Normal View and have,&lt;br /&gt;
for example, the Footnote pane open)&lt;br /&gt;
&lt;br /&gt;
20&lt;br /&gt;
Alt+Drag (or press Ctrl + Shift + F8 and drag, but Alt + Drag is&lt;br /&gt;
far easier!)&lt;br /&gt;
ColumnSelect&lt;br /&gt;
Selects a columnar block of text&lt;br /&gt;
&lt;br /&gt;
21&lt;br /&gt;
Ctrl +Shift+C&lt;br /&gt;
CopyFormat&lt;br /&gt;
Copies the formatting of the selection&lt;br /&gt;
&lt;br /&gt;
22&lt;br /&gt;
Shift + F2&lt;br /&gt;
CopyText&lt;br /&gt;
Makes a copy of the selection without using the clipboard (press&lt;br /&gt;
Return to paste)&lt;br /&gt;
&lt;br /&gt;
23&lt;br /&gt;
Alt + F3&lt;br /&gt;
CreateAutoText&lt;br /&gt;
Adds an AutoText entry to the active template&lt;br /&gt;
&lt;br /&gt;
24&lt;br /&gt;
Ctrl+ Backspace&lt;br /&gt;
DeleteBackWord&lt;br /&gt;
Deletes the previous word without putting it on the Clipboard&lt;br /&gt;
&lt;br /&gt;
25&lt;br /&gt;
Ctrl + Del&lt;br /&gt;
DeleteWord&lt;br /&gt;
Deletes the next word without putting it on the Clipboard&lt;br /&gt;
&lt;br /&gt;
26&lt;br /&gt;
Ctrl+W, Ctrl+F4&lt;br /&gt;
DocClose&lt;br /&gt;
Prompts to save the document and then closes the active window.&lt;br /&gt;
(But doesn&#39;t intercept the menu command)&lt;br /&gt;
&lt;br /&gt;
27&lt;br /&gt;
Ctrl + F10&lt;br /&gt;
DocMaximize&lt;br /&gt;
Enlarges the active window to full size&lt;br /&gt;
&lt;br /&gt;
28&lt;br /&gt;
Ctrl + F7&lt;br /&gt;
DocMove&lt;br /&gt;
Changes the position of the active window&lt;br /&gt;
&lt;br /&gt;
29&lt;br /&gt;
Ctrl + F5&lt;br /&gt;
DocRestore&lt;br /&gt;
Restores the window to normal size&lt;br /&gt;
&lt;br /&gt;
30&lt;br /&gt;
Ctrl + F8&lt;br /&gt;
DocSize&lt;br /&gt;
Changes the size of the active window&lt;br /&gt;
&lt;br /&gt;
31&lt;br /&gt;
Alt + Ctrl + S&lt;br /&gt;
DocSplit&lt;br /&gt;
Splits the active window horizontally and then adjusts the split&lt;br /&gt;
&lt;br /&gt;
32&lt;br /&gt;
Alt + Shift + F9&lt;br /&gt;
DoFieldClick&lt;br /&gt;
Executes the action associated with macrobutton fields&lt;br /&gt;
&lt;br /&gt;
33&lt;br /&gt;
Ctrl + Shift + D&lt;br /&gt;
DoubleUnderline&lt;br /&gt;
Double underlines the selection (toggle)&lt;br /&gt;
&lt;br /&gt;
34&lt;br /&gt;
Alt R, G&lt;br /&gt;
DrawGroup&lt;br /&gt;
Groups the selected drawing objects&lt;br /&gt;
&lt;br /&gt;
35&lt;br /&gt;
Alt R, I&lt;br /&gt;
DrawSnapToGrid&lt;br /&gt;
Sets up a grid for aligning drawing objects&lt;br /&gt;
&lt;br /&gt;
36&lt;br /&gt;
Alt R, U&lt;br /&gt;
DrawUngroup&lt;br /&gt;
Ungroups the selected group of drawing objects&lt;br /&gt;
&lt;br /&gt;
37&lt;br /&gt;
Ctrl+Shift+F5 (Or: Alt I, K)&lt;br /&gt;
EditBookmark&lt;br /&gt;
Brings up the bookmark dialog&lt;br /&gt;
&lt;br /&gt;
38&lt;br /&gt;
Del&lt;br /&gt;
EditClear&lt;br /&gt;
Performs a forward delete or removes the selection without putting&lt;br /&gt;
it on the Clipboard&lt;br /&gt;
&lt;br /&gt;
39&lt;br /&gt;
Ctrl+C&lt;br /&gt;
EditCopy&lt;br /&gt;
Copies the selection and puts it on the Clipboard&lt;br /&gt;
&lt;br /&gt;
40&lt;br /&gt;
Ctrl+X&lt;br /&gt;
EditCut&lt;br /&gt;
Cuts the selection and puts it on the Clipboard&lt;br /&gt;
&lt;br /&gt;
41&lt;br /&gt;
Ctrl+F&lt;br /&gt;
EditFind&lt;br /&gt;
Finds the specified text or the specified formatting&lt;br /&gt;
&lt;br /&gt;
42&lt;br /&gt;
F5, Ctrl+G&lt;br /&gt;
EditGoTo&lt;br /&gt;
Jumps to a specified place in the active document&lt;br /&gt;
&lt;br /&gt;
43&lt;br /&gt;
Alt E, K&lt;br /&gt;
EditLinks&lt;br /&gt;
Allows links to be viewed, updated, opened, or removed&lt;br /&gt;
&lt;br /&gt;
44&lt;br /&gt;
Ctrl+V&lt;br /&gt;
EditPaste&lt;br /&gt;
Inserts the Clipboard contents at the insertion point&lt;br /&gt;
&lt;br /&gt;
45&lt;br /&gt;
Alt E, S&lt;br /&gt;
EditPasteSpecial&lt;br /&gt;
Inserts the Clipboard contents as a linked object, embedded object,&lt;br /&gt;
or other format&lt;br /&gt;
&lt;br /&gt;
46&lt;br /&gt;
Alt + Shift + Backspc&lt;br /&gt;
EditRedo&lt;br /&gt;
Redoes the last action that was undone&lt;br /&gt;
&lt;br /&gt;
47&lt;br /&gt;
F4&lt;br /&gt;
EditRedoOrRepeat&lt;br /&gt;
Repeats the last command, or redoes the last action that was undone&lt;br /&gt;
(unfortunately, doesn&#39;t work for as many commands in Word 2000 as in Word 97 and&lt;br /&gt;
below, but this is still one of Word&#39;s most useful shortcuts, if not the most&lt;br /&gt;
useful)&lt;br /&gt;
&lt;br /&gt;
48&lt;br /&gt;
Ctrl+H&lt;br /&gt;
EditReplace&lt;br /&gt;
Finds the specified text or the specified formatting and replaces&lt;br /&gt;
it&lt;br /&gt;
&lt;br /&gt;
49&lt;br /&gt;
Ctrl+A&lt;br /&gt;
EditSelectAll&lt;br /&gt;
Selects the entire document&lt;br /&gt;
&lt;br /&gt;
50&lt;br /&gt;
Ctrl+Z&lt;br /&gt;
EditUndo&lt;br /&gt;
Reverses the last action&lt;br /&gt;
&lt;br /&gt;
51&lt;br /&gt;
Alt + PageDn (to select to end of column, use Alt + Shift + PgDn)&lt;br /&gt;
EndOfColumn&lt;br /&gt;
Moves to the last cell in the current table column&lt;br /&gt;
&lt;br /&gt;
52&lt;br /&gt;
Ctrl+Shift+End&lt;br /&gt;
EndOfDocExtend&lt;br /&gt;
Extends the selection to the end of the last line of the document&lt;br /&gt;
&lt;br /&gt;
53&lt;br /&gt;
Ctrl+End&lt;br /&gt;
EndOfDocument&lt;br /&gt;
Moves the insertion point to the end of the last line of the&lt;br /&gt;
document&lt;br /&gt;
&lt;br /&gt;
54&lt;br /&gt;
End&lt;br /&gt;
EndOfLine&lt;br /&gt;
Moves the insertion point to the end of the current line&lt;br /&gt;
&lt;br /&gt;
55&lt;br /&gt;
Shift+End&lt;br /&gt;
EndOfLineExtend&lt;br /&gt;
Extends the selection to the end of the current line&lt;br /&gt;
&lt;br /&gt;
56&lt;br /&gt;
Alt+End&lt;br /&gt;
EndOfRow&lt;br /&gt;
Moves to the last cell in the current row&lt;br /&gt;
&lt;br /&gt;
57&lt;br /&gt;
Alt + Ctrl + PgDn&lt;br /&gt;
EndOfWindow&lt;br /&gt;
Moves the insertion point to the end of the last visible line on&lt;br /&gt;
the screen&lt;br /&gt;
&lt;br /&gt;
58&lt;br /&gt;
Shift + Alt + Ctrl + PgDn&lt;br /&gt;
EndOfWindowExtend&lt;br /&gt;
Extends the selection to the end of the last visible line on the&lt;br /&gt;
screen&lt;br /&gt;
&lt;br /&gt;
59&lt;br /&gt;
F8 (press Esc to turn off)&lt;br /&gt;
ExtendSelection&lt;br /&gt;
Turns on extend selection mode and then expands the selection with&lt;br /&gt;
the direction keys&lt;br /&gt;
&lt;br /&gt;
60&lt;br /&gt;
Alt + F4 (&lt;9&gt;)&lt;br /&gt;
FileCloseOrExit&lt;br /&gt;
Closes the current document, or if no documents are open, quits&lt;br /&gt;
Word. Horrible command, as it makes it a long winded business to quit Word. But&lt;br /&gt;
there&#39;s a simple solution - assign Alt+F4 to FileExit instead.&lt;br /&gt;
&lt;br /&gt;
61&lt;br /&gt;
Alt + F4 (Word 97)&lt;br /&gt;
FileExit&lt;br /&gt;
Quits Microsoft Word and prompts to save the documents (does&lt;br /&gt;
intercept the menu item, but not the keyboard shortcut, or the x button. An&lt;br /&gt;
AutoExit macro is usually a better way of intercepting this).&lt;br /&gt;
&lt;br /&gt;
62&lt;br /&gt;
NOT Ctrl+N!!&lt;br /&gt;
FileNew&lt;br /&gt;
Creates a new document or template (brings up the dialog). Note&lt;br /&gt;
that: Word pretends that Ctrl+N is assigned to FileNew but it isn&#39;t, it&#39;s&lt;br /&gt;
assigned to FileNewDefault You can fix this in Word 2000 by assigning Ctrl+N to&lt;br /&gt;
the FileNewDialog command. In Word 97 the only way to fix it is to create a&lt;br /&gt;
macro called FileNew (to do this, press Alt + F8, type &quot;FileNew&quot; without the&lt;br /&gt;
quotes and Click &quot;Create&quot;. The macro will automatically contain the code needed&lt;br /&gt;
to make it work).&lt;br /&gt;
&lt;br /&gt;
63&lt;br /&gt;
Ctrl+N&lt;br /&gt;
FileNewDefault&lt;br /&gt;
Creates a new document based on the Normal template.&lt;br /&gt;
&lt;br /&gt;
64&lt;br /&gt;
Ctrl+O&lt;br /&gt;
FileOpen&lt;br /&gt;
Opens an existing document or template&lt;br /&gt;
&lt;br /&gt;
65&lt;br /&gt;
Alt F, U&lt;br /&gt;
FilePageSetup&lt;br /&gt;
Changes the page setup of the selected sections&lt;br /&gt;
&lt;br /&gt;
66&lt;br /&gt;
Ctrl + P&lt;br /&gt;
FilePrint&lt;br /&gt;
Prints the active document (brings up the dialog)&lt;br /&gt;
&lt;br /&gt;
67&lt;br /&gt;
Ctrl+F2&lt;br /&gt;
FilePrintPreview&lt;br /&gt;
Displays full pages as they will be printed&lt;br /&gt;
&lt;br /&gt;
68&lt;br /&gt;
Alt F, I&lt;br /&gt;
FileProperties&lt;br /&gt;
Shows the properties of the active document&lt;br /&gt;
&lt;br /&gt;
69&lt;br /&gt;
Ctrl+S&lt;br /&gt;
FileSave&lt;br /&gt;
FileSave&lt;br /&gt;
&lt;br /&gt;
70&lt;br /&gt;
Alt F, A (or F12)&lt;br /&gt;
FileSaveAs&lt;br /&gt;
Saves a copy of the document in a separate file (brings up the&lt;br /&gt;
dialog)&lt;br /&gt;
&lt;br /&gt;
71&lt;br /&gt;
Ctrl+Shift+F&lt;br /&gt;
Font&lt;br /&gt;
Activates the Fonts listbox on the formatting toolbar&lt;br /&gt;
&lt;br /&gt;
72&lt;br /&gt;
Ctrl+Shift+P&lt;br /&gt;
FontSizeSelect&lt;br /&gt;
Activates the Font Size drop-down on the formatting toolbar&lt;br /&gt;
&lt;br /&gt;
73&lt;br /&gt;
Alt + Ctrl + K&lt;br /&gt;
FormatAutoFormat&lt;br /&gt;
Automatically formats a document (or sometimes, automatically&lt;br /&gt;
screws it up)&lt;br /&gt;
&lt;br /&gt;
74&lt;br /&gt;
Alt O, B&lt;br /&gt;
FormatBordersAndShading&lt;br /&gt;
Changes the borders and shading of the selected paragraphs, table&lt;br /&gt;
cells, and pictures&lt;br /&gt;
&lt;br /&gt;
75&lt;br /&gt;
Alt O, E&lt;br /&gt;
FormatChangeCase&lt;br /&gt;
Changes the case of the letters in the selection&lt;br /&gt;
&lt;br /&gt;
76&lt;br /&gt;
Alt O, C&lt;br /&gt;
FormatColumns&lt;br /&gt;
Changes the column format of the selected sections (brings up the&lt;br /&gt;
dialog)&lt;br /&gt;
&lt;br /&gt;
77&lt;br /&gt;
Alt O, D&lt;br /&gt;
FormatDropCap&lt;br /&gt;
Formats the first character of current paragraph as a dropped&lt;br /&gt;
capital (must select it first)&lt;br /&gt;
&lt;br /&gt;
78&lt;br /&gt;
Ctrl+D&lt;br /&gt;
FormatFont&lt;br /&gt;
Brings up the Format + Font dialog&lt;br /&gt;
&lt;br /&gt;
79&lt;br /&gt;
Alt + Shift + R&lt;br /&gt;
FormatHeaderFooterLink&lt;br /&gt;
Links the current header/footer to the previous section (but does&lt;br /&gt;
not intercept the button on the Header Footer toolbar)&lt;br /&gt;
&lt;br /&gt;
80&lt;br /&gt;
Alt O, P&lt;br /&gt;
FormatParagraph&lt;br /&gt;
Brings up the Format Paragraph dialog&lt;br /&gt;
&lt;br /&gt;
81&lt;br /&gt;
Alt O, S&lt;br /&gt;
FormatStyle&lt;br /&gt;
Applies, creates, or modifies styles&lt;br /&gt;
&lt;br /&gt;
82&lt;br /&gt;
Alt O, T&lt;br /&gt;
FormatTabs&lt;br /&gt;
Brings up the Format Tabs dialog&lt;br /&gt;
&lt;br /&gt;
83&lt;br /&gt;
Shift + F5&lt;br /&gt;
GoBack&lt;br /&gt;
Returns to the previous insertion point (goes back to up to 3&lt;br /&gt;
points, then returns to where you started; this is one of the most useful&lt;br /&gt;
shortcuts of them all. Also useful when opening a document, if you want to g&lt;br /&gt;
straight to where you were last editing it)&lt;br /&gt;
&lt;br /&gt;
84&lt;br /&gt;
Ctrl + &gt;&lt;br /&gt;
GrowFont&lt;br /&gt;
Increases the font size of the selection&lt;br /&gt;
&lt;br /&gt;
85&lt;br /&gt;
Ctrl + ]&lt;br /&gt;
GrowFontOnePoint&lt;br /&gt;
Increases the font size of the selection by one point&lt;br /&gt;
&lt;br /&gt;
86&lt;br /&gt;
Ctrl + T (or drag the ruler)&lt;br /&gt;
HangingIndent&lt;br /&gt;
Increases the hanging indent&lt;br /&gt;
&lt;br /&gt;
87&lt;br /&gt;
F1&lt;br /&gt;
Help&lt;br /&gt;
Microsoft Word Help&lt;br /&gt;
&lt;br /&gt;
88&lt;br /&gt;
Shift + F1&lt;br /&gt;
HelpTool&lt;br /&gt;
Lets you get help on a command or screen region or examine text&lt;br /&gt;
properties&lt;br /&gt;
&lt;br /&gt;
89&lt;br /&gt;
Ctrl + Shift + H&lt;br /&gt;
Hidden&lt;br /&gt;
Makes the selection hidden text (toggle)&lt;br /&gt;
&lt;br /&gt;
90&lt;br /&gt;
Click on it&lt;br /&gt;
HyperlinkOpen&lt;br /&gt;
Connect to a hyperlink&#39;s address&lt;br /&gt;
&lt;br /&gt;
91&lt;br /&gt;
Ctrl + M (or drag the ruler)&lt;br /&gt;
Indent&lt;br /&gt;
Moves the left indent to the next tab stop&lt;br /&gt;
&lt;br /&gt;
92&lt;br /&gt;
Alt + Ctrl + M (or Alt I, M)&lt;br /&gt;
InsertAnnotation&lt;br /&gt;
Inserts a comment&lt;br /&gt;
&lt;br /&gt;
93&lt;br /&gt;
F3&lt;br /&gt;
InsertAutoText&lt;br /&gt;
Replaces the name of the AutoText entry with its contents&lt;br /&gt;
&lt;br /&gt;
94&lt;br /&gt;
Alt I, B&lt;br /&gt;
InsertBreak&lt;br /&gt;
Ends a page, column, or section at the insertion point&lt;br /&gt;
&lt;br /&gt;
95&lt;br /&gt;
Alt I, C&lt;br /&gt;
InsertCaption&lt;br /&gt;
Inserts a caption above or below a selected object&lt;br /&gt;
&lt;br /&gt;
96&lt;br /&gt;
Ctrl + Shift + Return&lt;br /&gt;
InsertColumnBreak&lt;br /&gt;
Inserts a column break at the insertion point&lt;br /&gt;
&lt;br /&gt;
97&lt;br /&gt;
Alt + Shift + D&lt;br /&gt;
InsertDateField&lt;br /&gt;
Inserts a date field&lt;br /&gt;
&lt;br /&gt;
98&lt;br /&gt;
Alt + Ctrl + D&lt;br /&gt;
InsertEndnoteNow&lt;br /&gt;
Inserts an endnote reference at the insertion point without&lt;br /&gt;
displaying the dialog&lt;br /&gt;
&lt;br /&gt;
99&lt;br /&gt;
Alt I, F&lt;br /&gt;
InsertField&lt;br /&gt;
Inserts a field in the active document&lt;br /&gt;
&lt;br /&gt;
100&lt;br /&gt;
Ctrl+F9&lt;br /&gt;
InsertFieldChars&lt;br /&gt;
Inserts an empty field with the enclosing field characters&lt;br /&gt;
&lt;br /&gt;
101&lt;br /&gt;
Alt I, L&lt;br /&gt;
InsertFile&lt;br /&gt;
Inserts the text of another file into the active document&lt;br /&gt;
&lt;br /&gt;
102&lt;br /&gt;
Alt I, N&lt;br /&gt;
InsertFootnote&lt;br /&gt;
Inserts a footnote or endnote reference at the insertion point&lt;br /&gt;
&lt;br /&gt;
103&lt;br /&gt;
Alt + Ctrl + F&lt;br /&gt;
InsertFootnoteNow&lt;br /&gt;
Inserts a footnote reference at the insertion point without&lt;br /&gt;
displaying the dialog&lt;br /&gt;
&lt;br /&gt;
104&lt;br /&gt;
Ctrl + K&lt;br /&gt;
InsertHyperlink&lt;br /&gt;
Insert Hyperlink&lt;br /&gt;
&lt;br /&gt;
105&lt;br /&gt;
Alt I, D&lt;br /&gt;
InsertIndexAndTables&lt;br /&gt;
Inserts an index or a table of contents, figures, or authorities&lt;br /&gt;
into the document&lt;br /&gt;
&lt;br /&gt;
106&lt;br /&gt;
Alt + Ctrl + L&lt;br /&gt;
InsertListNumField&lt;br /&gt;
Inserts a ListNum Field&lt;br /&gt;
&lt;br /&gt;
107&lt;br /&gt;
Alt + Shift + F&lt;br /&gt;
InsertMergeField&lt;br /&gt;
Brings up a dialog to insert a mail merge field at the insertion&lt;br /&gt;
point. (It does not intercept the button on the Mail merge. toolbar)&lt;br /&gt;
&lt;br /&gt;
108&lt;br /&gt;
Ctrl + Return&lt;br /&gt;
InsertPageBreak&lt;br /&gt;
Inserts a page break at the insertion point&lt;br /&gt;
&lt;br /&gt;
109&lt;br /&gt;
Alt + Shift + P&lt;br /&gt;
InsertPageField&lt;br /&gt;
Inserts a page number field&lt;br /&gt;
&lt;br /&gt;
110&lt;br /&gt;
Ctrl + Shift + F3&lt;br /&gt;
InsertSpike&lt;br /&gt;
Empties the spike AutoText entry and inserts all of its contents&lt;br /&gt;
into the document&lt;br /&gt;
&lt;br /&gt;
111&lt;br /&gt;
Alt + Shift + T&lt;br /&gt;
InsertTimeField&lt;br /&gt;
Inserts a time field&lt;br /&gt;
&lt;br /&gt;
112&lt;br /&gt;
Ctrl + I&lt;br /&gt;
Italic&lt;br /&gt;
Makes the selection italic (toggle)&lt;br /&gt;
&lt;br /&gt;
113&lt;br /&gt;
Ctrl + J&lt;br /&gt;
JustifyPara&lt;br /&gt;
Aligns the paragraph at both the left and the right indent&lt;br /&gt;
&lt;br /&gt;
114&lt;br /&gt;
Ctrl + L&lt;br /&gt;
LeftPara&lt;br /&gt;
Aligns the paragraph at the left indent&lt;br /&gt;
&lt;br /&gt;
115&lt;br /&gt;
Down arrow&lt;br /&gt;
LineDown&lt;br /&gt;
Moves the insertion point down one line&lt;br /&gt;
&lt;br /&gt;
116&lt;br /&gt;
Shift + down arrow&lt;br /&gt;
LineDownExtend&lt;br /&gt;
Extends the selection down one line&lt;br /&gt;
&lt;br /&gt;
117&lt;br /&gt;
Up arrow&lt;br /&gt;
LineUp&lt;br /&gt;
Moves the insertion point up one line&lt;br /&gt;
&lt;br /&gt;
118&lt;br /&gt;
Shift + up arrow&lt;br /&gt;
LineUpExtend&lt;br /&gt;
Extends the selection up one line&lt;br /&gt;
&lt;br /&gt;
119&lt;br /&gt;
Ctrl + F11&lt;br /&gt;
LockFields&lt;br /&gt;
Locks the selected fields to prevent updating&lt;br /&gt;
&lt;br /&gt;
120&lt;br /&gt;
Alt + Shift + K&lt;br /&gt;
MailMergeCheck&lt;br /&gt;
Checks for errors in a mail merge&lt;br /&gt;
&lt;br /&gt;
121&lt;br /&gt;
Alt+Shift+E&lt;br /&gt;
MailMergeEditDataSource&lt;br /&gt;
Lets you edit a mail merge data source&lt;br /&gt;
&lt;br /&gt;
122&lt;br /&gt;
Alt + Shift + N&lt;br /&gt;
MailMergeToDoc&lt;br /&gt;
Collects the results of the mail merge in a document&lt;br /&gt;
&lt;br /&gt;
123&lt;br /&gt;
Alt Shift + M&lt;br /&gt;
MailMergeToPrinter&lt;br /&gt;
Sends the results of the mail merge to the printer&lt;br /&gt;
&lt;br /&gt;
124&lt;br /&gt;
Alt + Shift + I&lt;br /&gt;
MarkCitation&lt;br /&gt;
Marks the text you want to include in the table of authorities&lt;br /&gt;
&lt;br /&gt;
125&lt;br /&gt;
Alt + Shift + X&lt;br /&gt;
MarkIndexEntry&lt;br /&gt;
Marks the text you want to include in the index&lt;br /&gt;
&lt;br /&gt;
126&lt;br /&gt;
Alt + Shift + O&lt;br /&gt;
MarkTableOfContentsEntry&lt;br /&gt;
Inserts a TC field (but it is far better to use Heading Styles to&lt;br /&gt;
generate your Table of Contents instead)&lt;br /&gt;
&lt;br /&gt;
127&lt;br /&gt;
Alt or F10&lt;br /&gt;
MenuMode&lt;br /&gt;
Makes the menu bar active&lt;br /&gt;
&lt;br /&gt;
128&lt;br /&gt;
Alt + Shift + F11&lt;br /&gt;
MicrosoftScriptEditor&lt;br /&gt;
Starts or switches to Microsoft Development Environment&lt;br /&gt;
application, allowing you to view the HTML/XML source code that would be behind&lt;br /&gt;
the document if it were in .htm format (or that is behind it if it already is in&lt;br /&gt;
.htm format).&lt;br /&gt;
&lt;br /&gt;
129&lt;br /&gt;
Alt + Ctrl + F1&lt;br /&gt;
MicrosoftSystemInfo&lt;br /&gt;
Execute the Microsoft System Info application&lt;br /&gt;
&lt;br /&gt;
130&lt;br /&gt;
F2&lt;br /&gt;
MoveText&lt;br /&gt;
Moves the selection to a specified location without using the&lt;br /&gt;
clipboard (press Return to execute the more)&lt;br /&gt;
&lt;br /&gt;
131&lt;br /&gt;
Tab&lt;br /&gt;
NextCell&lt;br /&gt;
Moves to the next table cell&lt;br /&gt;
&lt;br /&gt;
132&lt;br /&gt;
F11&lt;br /&gt;
NextField&lt;br /&gt;
Moves to the next field&lt;br /&gt;
&lt;br /&gt;
133&lt;br /&gt;
Alt + F7&lt;br /&gt;
NextMisspelling&lt;br /&gt;
Find next spelling error&lt;br /&gt;
&lt;br /&gt;
134&lt;br /&gt;
Alt + down arrow&lt;br /&gt;
NextObject&lt;br /&gt;
Moves to the next object on the page&lt;br /&gt;
&lt;br /&gt;
135&lt;br /&gt;
Ctrl + F6&lt;br /&gt;
NextWindow&lt;br /&gt;
Switches to the next document window, equivalent to selecting a&lt;br /&gt;
document from the Window menu.&lt;br /&gt;
&lt;br /&gt;
136&lt;br /&gt;
Ctrl+Shift+N&lt;br /&gt;
NormalStyle&lt;br /&gt;
Applies the Normal style&lt;br /&gt;
&lt;br /&gt;
137&lt;br /&gt;
Ctrl + 0&lt;br /&gt;
OpenOrCloseUpPara&lt;br /&gt;
Sets or removes extra spacing above the selected paragraph&lt;br /&gt;
&lt;br /&gt;
138&lt;br /&gt;
F6&lt;br /&gt;
OtherPane&lt;br /&gt;
Switches to another window pane in Normal View (for instance, if&lt;br /&gt;
you have if you have a Footnotes pane open in Normal view and want to switch to&lt;br /&gt;
the main document and back without closing the pane).&lt;br /&gt;
&lt;br /&gt;
139&lt;br /&gt;
Alt + _&lt;br /&gt;
OutlineCollapse&lt;br /&gt;
Collapses an Outline in Outline View by one level&lt;br /&gt;
&lt;br /&gt;
140&lt;br /&gt;
Alt+Shift+rt arrow&lt;br /&gt;
OutlineDemote&lt;br /&gt;
Demotes the selected paragraphs one heading level&lt;br /&gt;
&lt;br /&gt;
141&lt;br /&gt;
Alt + +&lt;br /&gt;
OutlineExpand&lt;br /&gt;
Expands an Outline in Outline View by one level&lt;br /&gt;
&lt;br /&gt;
142&lt;br /&gt;
Alt+Shift+down arrow&lt;br /&gt;
OutlineMoveDown&lt;br /&gt;
Moves the selection below the next item in the outline&lt;br /&gt;
&lt;br /&gt;
143&lt;br /&gt;
Alt+Shift+up arrow&lt;br /&gt;
OutlineMoveUp&lt;br /&gt;
Moves the selection above the previous item in the outline&lt;br /&gt;
&lt;br /&gt;
144&lt;br /&gt;
Alt+Shift+left arrow&lt;br /&gt;
OutlinePromote&lt;br /&gt;
Promotes the selected paragraphs one heading level&lt;br /&gt;
&lt;br /&gt;
145&lt;br /&gt;
Alt + Shift + L&lt;br /&gt;
OutlineShowFirstLine&lt;br /&gt;
Toggles between showing the first line of each paragraph only or&lt;br /&gt;
showing all of the body text in the outline&lt;br /&gt;
&lt;br /&gt;
146&lt;br /&gt;
Ins&lt;br /&gt;
Overtype&lt;br /&gt;
Toggles the typing mode between replacing and inserting&lt;br /&gt;
&lt;br /&gt;
147&lt;br /&gt;
PgDn&lt;br /&gt;
PageDown&lt;br /&gt;
Moves the insertion point and document display to the next screen&lt;br /&gt;
of text&lt;br /&gt;
&lt;br /&gt;
148&lt;br /&gt;
Shift+ PgDn&lt;br /&gt;
PageDownExtend&lt;br /&gt;
Extends the selection and changes the document display to the next&lt;br /&gt;
screen of text&lt;br /&gt;
&lt;br /&gt;
149&lt;br /&gt;
PgUp&lt;br /&gt;
PageUp&lt;br /&gt;
Moves the insertion point and document display to the previous&lt;br /&gt;
screen of text&lt;br /&gt;
&lt;br /&gt;
150&lt;br /&gt;
Shift + PgUp&lt;br /&gt;
PageUpExtend&lt;br /&gt;
Extends the selection and changes the document display to the&lt;br /&gt;
previous screen of text&lt;br /&gt;
&lt;br /&gt;
151&lt;br /&gt;
Ctrl + down arrow&lt;br /&gt;
ParaDown&lt;br /&gt;
Moves the insertion point to the beginning of the next paragraph&lt;br /&gt;
&lt;br /&gt;
152&lt;br /&gt;
Shift + Ctrl + down arrow&lt;br /&gt;
ParaDownExtend&lt;br /&gt;
Extends the selection to the beginning of the next paragraph&lt;br /&gt;
&lt;br /&gt;
153&lt;br /&gt;
Ctrl + up arrow&lt;br /&gt;
ParaUp&lt;br /&gt;
Moves the insertion point to the beginning of the previous&lt;br /&gt;
paragraph&lt;br /&gt;
&lt;br /&gt;
154&lt;br /&gt;
Shift + Ctrl + up arrow&lt;br /&gt;
ParaUpExtend&lt;br /&gt;
Extends the selection to the beginning of the previous paragraph&lt;br /&gt;
&lt;br /&gt;
155&lt;br /&gt;
Ctrl+Shift+V&lt;br /&gt;
PasteFormat&lt;br /&gt;
Applies the previously copied formatting to selection&lt;br /&gt;
&lt;br /&gt;
156&lt;br /&gt;
Shift + Tab&lt;br /&gt;
PrevCell&lt;br /&gt;
Moves to the previous table cell&lt;br /&gt;
&lt;br /&gt;
157&lt;br /&gt;
Shift + F11&lt;br /&gt;
PrevField&lt;br /&gt;
Moves to the previous field&lt;br /&gt;
&lt;br /&gt;
158&lt;br /&gt;
Alt + up arrow&lt;br /&gt;
PrevObject&lt;br /&gt;
Moves to the previous object on the page&lt;br /&gt;
&lt;br /&gt;
159&lt;br /&gt;
Ctrl + Shift + F6&lt;br /&gt;
PrevWindow&lt;br /&gt;
Switches back to the previous document window&lt;br /&gt;
&lt;br /&gt;
160&lt;br /&gt;
Sfift+F4&lt;br /&gt;
RepeatFind&lt;br /&gt;
Repeats Go To or Find to find the next occurrence&lt;br /&gt;
&lt;br /&gt;
161&lt;br /&gt;
Ctrl+Spacebar&lt;br /&gt;
ResetChar&lt;br /&gt;
Makes the selection the default character format of the applied&lt;br /&gt;
style&lt;br /&gt;
&lt;br /&gt;
162&lt;br /&gt;
Ctrl+Q&lt;br /&gt;
ResetPara&lt;br /&gt;
Makes the selection the default paragraph format of the applied&lt;br /&gt;
style&lt;br /&gt;
&lt;br /&gt;
163&lt;br /&gt;
Ctrl +R&lt;br /&gt;
RightPara&lt;br /&gt;
Aligns the paragraph at the right indent&lt;br /&gt;
&lt;br /&gt;
164&lt;br /&gt;
Ctrl + *&lt;br /&gt;
ShowAll&lt;br /&gt;
Shows/hides all nonprinting characters&lt;br /&gt;
&lt;br /&gt;
165&lt;br /&gt;
Alt + Shift + A&lt;br /&gt;
ShowAllHeadings&lt;br /&gt;
Displays all of the heading levels and the body text in Outline&lt;br /&gt;
View&lt;br /&gt;
&lt;br /&gt;
166&lt;br /&gt;
Ctrl + &lt;&lt;br /&gt;
ShrinkFont&lt;br /&gt;
Decreases the font size of the selection&lt;br /&gt;
&lt;br /&gt;
167&lt;br /&gt;
Ctrl + [&lt;br /&gt;
ShrinkFontOnePoint&lt;br /&gt;
Decreases the font size of the selection by one point&lt;br /&gt;
&lt;br /&gt;
168&lt;br /&gt;
Ctrl + Shift + K&lt;br /&gt;
SmallCaps&lt;br /&gt;
Makes the selection small capitals (toggle)&lt;br /&gt;
&lt;br /&gt;
169&lt;br /&gt;
Ctrl + 1&lt;br /&gt;
SpacePara1&lt;br /&gt;
Sets the line spacing to single space&lt;br /&gt;
&lt;br /&gt;
170&lt;br /&gt;
Ctrl + 5&lt;br /&gt;
SpacePara15&lt;br /&gt;
Sets the line spacing to one-and-one-half space&lt;br /&gt;
&lt;br /&gt;
171&lt;br /&gt;
Ctrl + 2&lt;br /&gt;
SpacePara2&lt;br /&gt;
Sets the line spacing to double space&lt;br /&gt;
&lt;br /&gt;
172&lt;br /&gt;
Ctrl + F3&lt;br /&gt;
Spike&lt;br /&gt;
Deletes the selection and adds it to the &quot;Spike&quot; AutoText entry&lt;br /&gt;
(which allows you to move text and graphics from nonadjacent locations)&lt;br /&gt;
&lt;br /&gt;
173&lt;br /&gt;
Alt + PgUp&lt;br /&gt;
StartOfColumn&lt;br /&gt;
Moves to the first cell in the current column&lt;br /&gt;
&lt;br /&gt;
174&lt;br /&gt;
Ctrl+Shift+Home&lt;br /&gt;
StartOfDocExtend&lt;br /&gt;
Extends the selection to the beginning of the first line of the&lt;br /&gt;
document&lt;br /&gt;
&lt;br /&gt;
175&lt;br /&gt;
Ctrl +Home&lt;br /&gt;
StartOfDocument&lt;br /&gt;
Moves the insertion point to the beginning of the first line of the&lt;br /&gt;
document&lt;br /&gt;
&lt;br /&gt;
176&lt;br /&gt;
Home&lt;br /&gt;
StartOfLine&lt;br /&gt;
Moves the insertion point to the beginning of the current line&lt;br /&gt;
&lt;br /&gt;
177&lt;br /&gt;
Shift+Home&lt;br /&gt;
StartOfLineExtend&lt;br /&gt;
Extends the selection to the beginning of the current line&lt;br /&gt;
&lt;br /&gt;
178&lt;br /&gt;
Alt+Home&lt;br /&gt;
StartOfRow&lt;br /&gt;
Moves to the first cell in the current row&lt;br /&gt;
&lt;br /&gt;
179&lt;br /&gt;
Alt+Ctrl+PgUp&lt;br /&gt;
StartOfWindow&lt;br /&gt;
Moves the insertion point to the beginning of the first visible&lt;br /&gt;
line on the screen&lt;br /&gt;
&lt;br /&gt;
180&lt;br /&gt;
Shift+ Alt+Ctrl+PgUp&lt;br /&gt;
StartOfWindowExtend&lt;br /&gt;
Extends the selection to the beginning of the first visible line on&lt;br /&gt;
the screen&lt;br /&gt;
&lt;br /&gt;
181&lt;br /&gt;
Strl + Shift + S&lt;br /&gt;
Style&lt;br /&gt;
Activates the Style drop-down on the Formatting toolbar&lt;br /&gt;
&lt;br /&gt;
182&lt;br /&gt;
Ctrl + =&lt;br /&gt;
Subscript&lt;br /&gt;
Makes the selection subscript (toggle)&lt;br /&gt;
&lt;br /&gt;
183&lt;br /&gt;
Ctrl + +&lt;br /&gt;
Superscript&lt;br /&gt;
Makes the selection superscript (toggle)&lt;br /&gt;
&lt;br /&gt;
184&lt;br /&gt;
Ctrl + Shift + Q&lt;br /&gt;
SymbolFont&lt;br /&gt;
Applies the Symbol font to the selection&lt;br /&gt;
&lt;br /&gt;
185&lt;br /&gt;
Alt A, F&lt;br /&gt;
TableAutoFormat&lt;br /&gt;
Applies a set of formatting to a table&lt;br /&gt;
&lt;br /&gt;
186&lt;br /&gt;
Alt A, H&lt;br /&gt;
TableHeadings&lt;br /&gt;
Toggles table headings attribute on and off&lt;br /&gt;
&lt;br /&gt;
187&lt;br /&gt;
Alt + click&lt;br /&gt;
(Alt + drag to select several)&lt;br /&gt;
TableSelectColumn&lt;br /&gt;
Selects the current column in a table&lt;br /&gt;
&lt;br /&gt;
188&lt;br /&gt;
Click in left margin&lt;br /&gt;
TableSelectRow&lt;br /&gt;
Selects the current row in a table&lt;br /&gt;
&lt;br /&gt;
189&lt;br /&gt;
Alt + double-click&lt;br /&gt;
TableSelectTable&lt;br /&gt;
Selects an entire table&lt;br /&gt;
&lt;br /&gt;
190&lt;br /&gt;
Alt + Ctrl + U&lt;br /&gt;
TableUpdateAutoFormat&lt;br /&gt;
Updates the table formatting to match the applied Table Autoformat&lt;br /&gt;
settings&lt;br /&gt;
&lt;br /&gt;
191&lt;br /&gt;
Shift + F9 (Alt + F9 toggles all field codes on or off)&lt;br /&gt;
ToggleFieldDisplay&lt;br /&gt;
Shows the field codes or the results for the selection (toggle)&lt;br /&gt;
&lt;br /&gt;
192&lt;br /&gt;
Alt T, C&lt;br /&gt;
ToolsCustomize&lt;br /&gt;
Allows you to customizes the Word user interface (menus, keyboard&lt;br /&gt;
and toolbars) and store the customizations in a template (defaults to&lt;br /&gt;
Normal.dot, so be careful!)&lt;br /&gt;
&lt;br /&gt;
193&lt;br /&gt;
Alt + F8&lt;br /&gt;
ToolsMacro&lt;br /&gt;
Runs, creates, deletes, or revises a macro&lt;br /&gt;
&lt;br /&gt;
194&lt;br /&gt;
F7&lt;br /&gt;
ToolsProofing&lt;br /&gt;
Checks the spelling and grammar in the active document&lt;br /&gt;
&lt;br /&gt;
195&lt;br /&gt;
Ctr.l + Shift + E&lt;br /&gt;
ToolsRevisionMarksToggle&lt;br /&gt;
Toggles track changes for the active document&lt;br /&gt;
&lt;br /&gt;
196&lt;br /&gt;
Shift + F7&lt;br /&gt;
ToolsThesaurus&lt;br /&gt;
Finds a synonym for the selected word&lt;br /&gt;
&lt;br /&gt;
197&lt;br /&gt;
Ctrl+U&lt;br /&gt;
Underline&lt;br /&gt;
Formats the selection with a continuous underline (toggle)&lt;br /&gt;
&lt;br /&gt;
198&lt;br /&gt;
Ctrl + Shift + T&lt;br /&gt;
(or drag the ruler)&lt;br /&gt;
UnHang&lt;br /&gt;
Decreases the hanging indent&lt;br /&gt;
&lt;br /&gt;
199&lt;br /&gt;
Ctrl + Shift + M&lt;br /&gt;
(or drag the ruler)&lt;br /&gt;
UnIndent&lt;br /&gt;
Moves the left indent to the previous tab stop&lt;br /&gt;
&lt;br /&gt;
200&lt;br /&gt;
Ctrl+Shift+F9&lt;br /&gt;
UnlinkFields&lt;br /&gt;
Permanently replaces the field codes with the results&lt;br /&gt;
&lt;br /&gt;
201&lt;br /&gt;
Ctrl + Shift + F11&lt;br /&gt;
UnlockFields&lt;br /&gt;
Unlocks the selected fields for updating&lt;br /&gt;
&lt;br /&gt;
202&lt;br /&gt;
F9&lt;br /&gt;
UpdateFields&lt;br /&gt;
Updates and displays the results of the selected fields&lt;br /&gt;
&lt;br /&gt;
203&lt;br /&gt;
Ctrl + Shiift + F7&lt;br /&gt;
UpdateSource&lt;br /&gt;
Copies the modified text of a linked file back to its source file&lt;br /&gt;
&lt;br /&gt;
204&lt;br /&gt;
Hover over comment&lt;br /&gt;
ViewAnnotations&lt;br /&gt;
Show or hide the comment pane&lt;br /&gt;
&lt;br /&gt;
205&lt;br /&gt;
Dbl-click the endnote reference&lt;br /&gt;
ViewEndnoteArea&lt;br /&gt;
If in Normal View, opens a pane for viewing and editing the endnote&lt;br /&gt;
(toggle). If in Page/Print Layout View, switches from the body text to the&lt;br /&gt;
endnote or vice versa&lt;br /&gt;
&lt;br /&gt;
206&lt;br /&gt;
At + F9&lt;br /&gt;
ViewFieldCodes&lt;br /&gt;
Shows the field codes or results for all fields (toggle)&lt;br /&gt;
&lt;br /&gt;
207&lt;br /&gt;
Dbl-click the footnote reference&lt;br /&gt;
ViewFootnoteArea&lt;br /&gt;
If in Normal View, opens a pane for viewing and editing the&lt;br /&gt;
footnote (toggle). If in Page/Print Layout View, switches from the body text to&lt;br /&gt;
the footnote or vice versa.&lt;br /&gt;
&lt;br /&gt;
208&lt;br /&gt;
Alt V, F&lt;br /&gt;
ViewFootnotes&lt;br /&gt;
If in Normal View, opens a pane for viewing and editing footnotes&lt;br /&gt;
and endnotes (toggle). If in Page/Print Layout View, switches from the body text&lt;br /&gt;
to the footnotes/endnotes or vice versa.&lt;br /&gt;
&lt;br /&gt;
209&lt;br /&gt;
Alt V, H&lt;br /&gt;
ViewHeader&lt;br /&gt;
Displays header in page layout view&lt;br /&gt;
&lt;br /&gt;
210&lt;br /&gt;
Alt V, N&lt;br /&gt;
(or Alt + Ctrl + N)&lt;br /&gt;
ViewNormal&lt;br /&gt;
Changes the editing view to normal view&lt;br /&gt;
&lt;br /&gt;
211&lt;br /&gt;
Alt V, O&lt;br /&gt;
(or Alt + Ctrl + O)&lt;br /&gt;
ViewOutline&lt;br /&gt;
Displays a document&#39;s outline&lt;br /&gt;
&lt;br /&gt;
212&lt;br /&gt;
Alt V, P&lt;br /&gt;
(or Alt + Ctrl + P)&lt;br /&gt;
ViewPage&lt;br /&gt;
Displays the page more-or-less as it will be printed, and allows&lt;br /&gt;
editing (In Word 2000 the menu item is called Print Layout, but fortunately the&lt;br /&gt;
command hasn&#39;t changed.&lt;br /&gt;
&lt;br /&gt;
213&lt;br /&gt;
Alt + F11&lt;br /&gt;
ViewVBCode&lt;br /&gt;
Shows the VB editing environment (Tools + Macro + Visual Basic&lt;br /&gt;
Editor)&lt;br /&gt;
&lt;br /&gt;
214&lt;br /&gt;
Alt + left arrow&lt;br /&gt;
WebGoBack&lt;br /&gt;
Backward hyperlink (useful if you clicked on a page number&lt;br /&gt;
hyperlink in the table of contents and then want to return to the TOC)&lt;br /&gt;
&lt;br /&gt;
215&lt;br /&gt;
Alt + rt arrow&lt;br /&gt;
WebGoForward&lt;br /&gt;
Forward hyperlink&lt;br /&gt;
&lt;br /&gt;
216&lt;br /&gt;
Alt W, A&lt;br /&gt;
WindowArrangeAll&lt;br /&gt;
Arranges windows as non-overlapping tiles&lt;br /&gt;
&lt;br /&gt;
217&lt;br /&gt;
Ctrl + left arrow&lt;br /&gt;
WordLeft&lt;br /&gt;
Moves the insertion point to the left one word&lt;br /&gt;
&lt;br /&gt;
218&lt;br /&gt;
Shift + Ctrl + left arrow&lt;br /&gt;
WordLeftExtend&lt;br /&gt;
Extends the selection to the left one word&lt;br /&gt;
&lt;br /&gt;
219&lt;br /&gt;
Ctrl + rt arrow&lt;br /&gt;
WordRight&lt;br /&gt;
Moves the insertion point to the right one word&lt;br /&gt;
&lt;br /&gt;
220&lt;br /&gt;
Shift + Ctrl + rt arrow&lt;br /&gt;
WordRightExtend&lt;br /&gt;
Extends the selection to the right one word&lt;br /&gt;
&lt;br /&gt;
221&lt;br /&gt;
Ctrl + Shift + W&lt;br /&gt;
WordUnderline&lt;br /&gt;
Underlines the words but not the spaces in the selection (toggle)</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/2099570110758100675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/list-of-221-ms-word-short-cut-keys.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/2099570110758100675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/2099570110758100675'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/list-of-221-ms-word-short-cut-keys.html' title='List of 221 MS Word Short Cut Keys'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-3336422326869891907</id><published>2011-06-21T11:39:00.001-07:00</published><updated>2011-06-21T11:39:23.713-07:00</updated><title type='text'>Code for How to Highlight Row of Gridview on Mouse Over which doesn&#39;t use alternate row color in Asp.net</title><content type='html'>In .aspx File declare OnRowCreated eventas follow.&lt;br /&gt;
&lt;asp:GridView ID=&quot;GridView1&quot; runat=&quot;server&quot; OnRowCreated=&quot;OnRowCreated&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Following code will:&lt;br /&gt;
Highlight Gridview which is not using alternate row color.&lt;br /&gt;
protectedvoid OnRowCreated(object sender, GridViewRowEventArgs e)&lt;br /&gt;
{&lt;br /&gt;
    if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;
    {&lt;br /&gt;
        //On Mouse Over Highlight Row&lt;br /&gt;
        e.Row.Attributes.Add(&quot;onmouseover&quot;, &quot;this.style.backgroundColor=&#39;#ffff00&#39;&quot;);&lt;br /&gt;
&lt;br /&gt;
        //On Mouse out restore default row color&lt;br /&gt;
        e.Row.Attributes.Add(&quot;onmouseout&quot;, &quot;this.style.backgroundColor=&#39;#FFFFFF&#39;&quot;);&lt;br /&gt;
    }&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/3336422326869891907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/code-for-how-to-highlight-row-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3336422326869891907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3336422326869891907'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/code-for-how-to-highlight-row-of.html' title='Code for How to Highlight Row of Gridview on Mouse Over which doesn&#39;t use alternate row color in Asp.net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-8229211465986929752</id><published>2011-06-21T11:36:00.001-07:00</published><updated>2011-06-21T11:37:12.550-07:00</updated><title type='text'>Code for How to Highlight Gridview Row on Mouse Over when gridview rows are using alternate row color in Asp.net</title><content type='html'>In .aspx File declare OnRowCreated eventas follow.&lt;br /&gt;
&lt;asp:GridView ID=&quot;GridView1&quot; runat=&quot;server&quot; OnRowCreated=&quot;OnRowCreated&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
Following code will explain: &lt;br /&gt;
How to Highlight Gridview which uses alternate row color.&lt;br /&gt;
&lt;br /&gt;
protectedvoid OnRowCreated(object sender, GridViewRowEventArgs e)&lt;br /&gt;
{&lt;br /&gt;
if (e.Row.RowType == DataControlRowType.DataRow)&lt;br /&gt;
{&lt;br /&gt;
//On Mouse over highlight gridview&lt;br /&gt;
e.Row.Attributes.Add(&quot;onmouseover&quot;, &quot;this.style.backgroundColor=&#39;#ffff00&#39;&quot;);&lt;br /&gt;
&lt;br /&gt;
//On Mouse out restore girdview row color based on alternate row color//Please change this color with your gridview alternate color.&lt;br /&gt;
&lt;br /&gt;
if (e.Row.RowIndex % 2 == 0)&lt;br /&gt;
{&lt;br /&gt;
e.Row.Attributes.Add(&quot;onmouseout&quot;, &quot;this.style.backgroundColor=&#39;#F7F7DE&#39;&quot;);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
e.Row.Attributes.Add(&quot;onmouseout&quot;, &quot;this.style.backgroundColor=&#39;#FFFFFF&#39;&quot;);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/8229211465986929752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/code-for-how-to-highlight-gridview-row.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8229211465986929752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8229211465986929752'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/code-for-how-to-highlight-gridview-row.html' title='Code for How to Highlight Gridview Row on Mouse Over when gridview rows are using alternate row color in Asp.net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-8320346127507661028</id><published>2011-06-21T08:28:00.000-07:00</published><updated>2011-06-21T08:38:55.272-07:00</updated><title type='text'>Add Google Maps to your .Net site</title><content type='html'>Ever wanted to add a Google Map to your site but only had 15 minutes to spare? Now you can add a map and still have time to brag to your mates and bask in the worship that (inevitably) comes afterward.&lt;br /&gt;
&lt;br /&gt;
Basically, the guys over at subgurim.net have already done all the hard work in writing the .Net wrapper for Google Maps. Problem is, the examples on their site are mostly in spanish &amp; its a bit difficult to find out exactly what is needed to get everything working.&lt;br /&gt;
&lt;br /&gt;
But all this is cutting into your bragging time - so lets get started!&lt;br /&gt;
&lt;br /&gt;
1. Get a Google Maps API key from here:&lt;br /&gt;
http://www.google.com/apis/maps/&lt;br /&gt;
&lt;br /&gt;
2. Download the SubGurim wrapper dll from here:&lt;br /&gt;
http://en.googlemaps.subgurim.net/descargar.aspx&lt;br /&gt;
&lt;br /&gt;
3. Unzip it, and put it in your \bin directory&lt;br /&gt;
&lt;br /&gt;
4. Add it to your toolbox by&lt;br /&gt;
Tools -&gt; Choose Toolbox Items -&gt; Browse -&gt; Select the .dll file -&gt; OK&lt;br /&gt;
GMap will now be in the ‘Standard’ area of your Toolbox.&lt;br /&gt;
&lt;br /&gt;
5. Add a new webpage.&lt;br /&gt;
&lt;br /&gt;
6. Drag the GMap from the toolbox onto the page. A new instance of the GMap will appear on the page, with the name ‘GMap1′&lt;br /&gt;
&lt;br /&gt;
7. Add the following lines to your web.config file:&lt;br /&gt;
&lt;br /&gt;
appsettings&gt;&lt;br /&gt;
add key=&quot;googlemaps.subgurim.net&quot; value=&quot;YourGoogleMapsAPIKeyHere&quot; /&gt;&lt;br /&gt;
/appSettings&gt;&lt;br /&gt;
&lt;br /&gt;
8. Add the following code to your Page.Load sub&lt;br /&gt;
&lt;br /&gt;
Dim sStreetAddress As String&lt;br /&gt;
Dim sMapKey As String = ConfigurationManager.AppSettings(&quot;googlemaps.subgurim.net&quot;)&lt;br /&gt;
Dim GeoCode As Subgurim.Controles.GeoCode&lt;br /&gt;
&lt;br /&gt;
sStreetAddress = &quot;100 Russell St. Melbourne. VIC. 3000. Australia&quot;&lt;br /&gt;
GeoCode = GMap1.geoCodeRequest(sStreetAddress, sMapKey)&lt;br /&gt;
Dim gLatLng As New Subgurim.Controles.GLatLng(GeoCode.Placemark.coordinates.lat, GeoCode.Placemark.coordinates.lng)&lt;br /&gt;
&lt;br /&gt;
GMap1.setCenter(gLatLng, 16, Subgurim.Controles.GMapType.GTypes.Normal)&lt;br /&gt;
Dim oMarker As New Subgurim.Controles.GMarker(gLatLng)&lt;br /&gt;
GMap1.addGMarker(oMarker)&lt;br /&gt;
&lt;br /&gt;
Source:http://gathadams.com/</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/8320346127507661028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/add-google-maps-to-your-net-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8320346127507661028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8320346127507661028'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/add-google-maps-to-your-net-site.html' title='Add Google Maps to your .Net site'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-7254005310124051343</id><published>2011-06-21T04:14:00.000-07:00</published><updated>2011-06-21T04:14:13.905-07:00</updated><title type='text'>Improving Performance with Connection Pooling</title><content type='html'>Opening a connection is a database-intensive task. It can be one of the slowest operations that you perform in an ASP.NET page. Furthermore, a database has a limited supply of connections, and each connection requires a certain amount of memory overhead (approximately 40 kilobytes per connection).&lt;br /&gt;
&lt;br /&gt;
If you plan to have hundreds of users hitting your Web site simultaneously, the process of opening a database connection for each user can have a severe impact on the performance of your Web site.&lt;br /&gt;
&lt;br /&gt;
Fortunately, you can safely ignore these bad warnings if you take advantage of connection pooling. When database connections are pooled, a set of connections is kept open so that they can be shared among multiple users. When you request a new connection, an active connection is removed from the pool. When you close the connection, the connection is placed back in the pool.&lt;br /&gt;
&lt;br /&gt;
Connection pooling is enabled for both OleDb and SqlClient connections by default.&lt;br /&gt;
&lt;br /&gt;
To take advantage of connection pooling, you must be careful to do two things in your ASP.NET pages.&lt;br /&gt;
&lt;br /&gt;
First, you must be careful to use the same exact connection string whenever you open a database connection. Only those connections opened with the same connection string can be placed in the same connection pool. For this reason you should place your connection string in the web.config file and retrieve it from this file whenever you need to open a connection&lt;br /&gt;
&lt;br /&gt;
Second, you must also be careful to explicitly close whatever connection you open as quickly as possible. If you do not explicitly close a connection with the Close() method, the connection is never added back to the connection pool.&lt;br /&gt;
&lt;br /&gt;
Source: www.dotnetguts.blogspot.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/7254005310124051343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/improving-performance-with-connection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7254005310124051343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7254005310124051343'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/improving-performance-with-connection.html' title='Improving Performance with Connection Pooling'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-174384058267123168</id><published>2011-06-21T04:05:00.000-07:00</published><updated>2011-06-21T04:05:12.940-07:00</updated><title type='text'>Difference between ASP &amp; ASP.NET</title><content type='html'>ASP stands for Active Server Pages. ASP.NET is the next generation of ASP. After the introduction of ASP.NET, old ASP is called &#39;Classic ASP&#39;.&lt;br /&gt;
&lt;br /&gt;
Classic ASP uses vb script for server side coding. Vb Script is not supported any more in ASP.NET. Instead, ASP.NET supports more languages including C#, VB.NET, J# etc. VB.NET is very similar to vb script, so it should be easy for old Visual Basic or ASP programmers to switch to VB.NET and ASP.NET&lt;br /&gt;
&lt;br /&gt;
VB Script is a simple scripting language, where as VB.NET or C# are modern, very powerfull, object oriented programming languages. Just for that reason, you will be able to write much more robust and reliable programs in ASP.NET compared to ASP.&lt;br /&gt;
&lt;br /&gt;
In classic ASP, there was no server controls. You have to write all html tags manually. ASP.NET offers a very rich set of controls called Server Controls and Html Controls. It is very easy to drag and drop any controls to a web form. The VS.NET will automatically write the required HTML tags automatically for you.&lt;br /&gt;
&lt;br /&gt;
ASP is interpreted, ASP.NET is compiled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since ASP uses vb script, there is no compilation. All ASP pages are interpreted when th page is executed.&lt;br /&gt;
&lt;br /&gt;
ASP.NET uses modern .NET languages like C#, VB.NET etc. They can be compiled to efficient Microsoft Intermediate Language (MSIL). When you compile an ASP.NET application, the server side code is compiled to assemblies. These assemblies are loaded at run time which makes the ASP.NET pages perform better than classic ASP.&lt;br /&gt;
&lt;br /&gt;
ADO and ADO.NET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Classic ASP uses a technology called ADO to connect and work with databases. ASP.NET uses the ADO.NET technology (which is the next generation of ADO).&lt;br /&gt;
&lt;br /&gt;
Event driven programming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have written Visual Basic programs before, you would love the event driven programming approach. It is so easy to drag and drop a button control and double click on the button to write the event handler for the button click event. When you click on the button at turn time, it will execute whatever code you have written in the event handler.&lt;br /&gt;
&lt;br /&gt;
This type of event driven programming was not available with classic ASP. You cannot drag and drop a button and write a &#39;on click&#39; event handler with ASP.&lt;br /&gt;
&lt;br /&gt;
With ASP.NET, this is changed. It works pretty much like your Visual Basic program. You can write event handlers for several events like button click event, text changed event etc.&lt;br /&gt;
&lt;br /&gt;
However, there is big difference between the way event handling works in regular Visual basic and ASP.NET. In ASP.NET, a page is loaded in the client browser. And the server may be in another location (may be in another country). When you click on the button in an ASP.NET page, the &#39;click event&#39; handler has to be executed on the server, not on the client.&lt;br /&gt;
&lt;br /&gt;
How does the server know when you click on a button your browser? This is a tricky thing in ASP.NET. When you write an event handler for a button lick or something like that in ASP.NET, lot of things happens behind the screens. ASP.NET will produce lot of client side javascript code to handle this and embed this javascript in the html page it sends to the browser. When you click on the button in the browser, the client side javascript will get executed. This javascript will generate some information required for the server and and submit the page request to the server. There is enough information embedded in this request so that the server will understand that user has clicked a specific button in the browser and it has to execute some &#39;specific event handler&#39; code in the server side. So, when the user clicks on a button, the page is submitted automatically to the server with some special information. In the server side, it will process the event handler for the button click event and send back the output page to the browser again. Similary, you can write other event handlers like text changed event for Textboxes etc.&lt;br /&gt;
&lt;br /&gt;
As a user of the web page, you will not even know what happened in the background. All you can see is, when you clicked the button, it executed the button click event handler in the server side and you got the result. However, you may notice a delay because the page has to be submitted to the server to execute the event handler.&lt;br /&gt;
&lt;br /&gt;
NOTE: The event handling we just discussed is server side event handling. In addition to that, you can handle any events in the client side using Javascript. This is supported even in classic ASP. The client side event handling is used for simpel client side validation, displaying messages to the user etc. You cannot do any server side programming in client side java script (like accessing the database etc).&lt;br /&gt;
&lt;br /&gt;
Source: www.dotnetspider.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/174384058267123168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/difference-between-asp-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/174384058267123168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/174384058267123168'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/difference-between-asp-aspnet.html' title='Difference between ASP &amp; ASP.NET'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-4331474169109506331</id><published>2011-06-21T03:52:00.001-07:00</published><updated>2011-06-21T03:52:40.752-07:00</updated><title type='text'>Difference between Close() and Dispose() Method</title><content type='html'>The basic difference between Close() and Dispose() is, when a Close() method is called, any managed resource can be temporarily closed and can be opened once again. It means that, with the same object the resource can be reopened or used. Where as Dispose() method permanently removes any resource ((un)managed) from memory for cleanup and the resource no longer exists for any further processing.&lt;br /&gt;
&lt;br /&gt;
Example showing difference between Close() and Dispose() Method:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
public class Test&lt;br /&gt;
{&lt;br /&gt;
private string connString = &quot;Data Source=COMP3;Initial Catalog=Northwind;User Id=sa;Password=pass&quot;;&lt;br /&gt;
private SqlConnection connection;&lt;br /&gt;
public Test()&lt;br /&gt;
{&lt;br /&gt;
connection = new SqlConnection(connString);&lt;br /&gt;
}&lt;br /&gt;
private static void Main()&lt;br /&gt;
{&lt;br /&gt;
Test t = new Test();&lt;br /&gt;
t.ConnectionStatus();&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
}&lt;br /&gt;
public void ConnectionStatus()&lt;br /&gt;
{&lt;br /&gt;
try&lt;br /&gt;
{&lt;br /&gt;
if(connection.State == ConnectionState.Closed)&lt;br /&gt;
{&lt;br /&gt;
connection.Open();&lt;br /&gt;
Console.WriteLine(&quot;Connection opened..&quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(connection.State == ConnectionState.Open)&lt;br /&gt;
{&lt;br /&gt;
connection.Close();&lt;br /&gt;
Console.WriteLine(&quot;Connection closed..&quot;);&lt;br /&gt;
}&lt;br /&gt;
// connection.Dispose();&lt;br /&gt;
&lt;br /&gt;
if(connection.State == ConnectionState.Closed)&lt;br /&gt;
{&lt;br /&gt;
connection.Open();&lt;br /&gt;
Console.WriteLine(&quot;Connection again opened..&quot;);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
catch(SqlException ex)&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine(ex.Message+&quot;\n&quot;+ex.StackTrace);&lt;br /&gt;
}&lt;br /&gt;
catch(Exception ey)&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine(ey.Message+&quot;\n&quot;+ey.StackTrace);&lt;br /&gt;
}&lt;br /&gt;
finally&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine(&quot;Connection closed and disposed..&quot;);&lt;br /&gt;
connection.Dispose();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
In the above example if you uncomment the &quot;connection.Dispose()&quot; method and execute, you will get an exception as, &quot;The ConnectionString property has not been initialized.&quot;.This is the difference between Close() and Dispose().</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/4331474169109506331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/difference-between-close-and-dispose.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/4331474169109506331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/4331474169109506331'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/difference-between-close-and-dispose.html' title='Difference between Close() and Dispose() Method'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-7303622273342686008</id><published>2011-06-20T21:46:00.001-07:00</published><updated>2011-06-20T21:48:05.039-07:00</updated><title type='text'>Trick for disabling anyone to copy webpage content</title><content type='html'>Trick for&lt;br /&gt;
&lt;br /&gt;
* disabling anyone to copy screen content&lt;br /&gt;
* disabling drag&lt;br /&gt;
* disabling select (selection of content)&lt;br /&gt;
&lt;br /&gt;
body ondragstart=&#39;return false&#39; onselectstart=&#39;return false&#39;&gt;</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/7303622273342686008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/trick-for-disabling-anyone-to-copy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7303622273342686008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7303622273342686008'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/trick-for-disabling-anyone-to-copy.html' title='Trick for disabling anyone to copy webpage content'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-246177250733543574</id><published>2011-06-20T21:36:00.001-07:00</published><updated>2011-06-20T21:38:38.889-07:00</updated><title type='text'>Export Datagrid Data To Excel ASP.net</title><content type='html'>private void btnExportToExcel_Click(object sender,&lt;br /&gt;
System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
ExportToExcel(&quot;Report.xls&quot;,DataGrid1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
private void ExportToExcel(string strFileName,DataGrid dg)&lt;br /&gt;
{ Response.Clear();&lt;br /&gt;
Response.Buffer = true;&lt;br /&gt;
Response.ContentType = &quot;application/vnd.ms-excel&quot;;&lt;br /&gt;
Response.AddHeader(&quot;content-disposition&quot;,&lt;br /&gt;
&quot;attachment;filename=&quot; + strFileName);&lt;br /&gt;
Response.Charset = &quot;&quot;;&lt;br /&gt;
this.EnableViewState = false;&lt;br /&gt;
System.IO.StringWriter sw = new StringWriter();&lt;br /&gt;
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter(sw);&lt;br /&gt;
dg.RenderControl(htw);&lt;br /&gt;
Response.Write(sw.ToString());&lt;br /&gt;
Response.End();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Source: http://dotnetguts.blogspot.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/246177250733543574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/export-datagrid-data-to-excel-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/246177250733543574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/246177250733543574'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/export-datagrid-data-to-excel-aspnet.html' title='Export Datagrid Data To Excel ASP.net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-7525679986834377890</id><published>2011-06-20T21:27:00.000-07:00</published><updated>2011-06-20T21:27:08.173-07:00</updated><title type='text'>Import Excel To Datagrid ASP.net</title><content type='html'>Working Effectively with Legacy Code&lt;br /&gt;
Learn how to find and create seams in your application, no matter &quot;Legacy&quot; it may be, and over time improve application&#39;s design. Read more...&lt;br /&gt;
&lt;br /&gt;
private void btnImportExcelToGrid_Click(object sender,&lt;br /&gt;
System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
String strConn = &quot;Provider=Microsoft.Jet.OLEDB.4.0;&quot; +&lt;br /&gt;
&quot;Data Source=C:\\Book2.xls;&quot; +&lt;br /&gt;
&quot;Extended Properties=Excel 8.0;&quot;;&lt;br /&gt;
&lt;br /&gt;
DataSet ds = new DataSet();&lt;br /&gt;
//You must use the $ after the object&lt;br /&gt;
//you reference in the spreadsheet&lt;br /&gt;
OleDbDataAdapter da = new OleDbDataAdapter&lt;br /&gt;
(&quot;SELECT * FROM [Sheet1$]&quot;, strConn);&lt;br /&gt;
&lt;br /&gt;
//da.TableMappings.Add(&quot;Table&quot;, &quot;ExcelTest&quot;);&lt;br /&gt;
&lt;br /&gt;
da.Fill(ds);&lt;br /&gt;
DataGrid2.DataSource = ds.Tables[0].DefaultView;&lt;br /&gt;
DataGrid2.DataBind();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Note: If you want to give client upload facility, than first upload the file to the server. Next call the excel file from the following server location.&lt;br /&gt;
&lt;br /&gt;
Source: http://dotnetguts.blogspot.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/7525679986834377890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/import-excel-to-datagrid-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7525679986834377890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7525679986834377890'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/import-excel-to-datagrid-aspnet.html' title='Import Excel To Datagrid ASP.net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-63283731595037539</id><published>2011-06-20T21:22:00.000-07:00</published><updated>2011-06-20T21:22:03.064-07:00</updated><title type='text'>Basics of Web Services in .net</title><content type='html'>What is Web Service?&lt;br /&gt;
    * Web Service is an application that is designed to interact directly with other applications over the internet. In simple sense, Web Services are means for interacting with objects over the Internet.&lt;br /&gt;
    * Web Service is&lt;br /&gt;
          o Language Independent&lt;br /&gt;
          o Protocol Independent&lt;br /&gt;
          o Platform Independent&lt;br /&gt;
          o It assumes a stateless service architecture.&lt;br /&gt;
    * We will discuss more on web service as the article proceed. Before that lets understand bit on how web service comes into picture.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
History of Web Service or How Web Service comes into existence?&lt;br /&gt;
&lt;br /&gt;
    * As i have mention before that Web Service is nothing but means for Interacting with objects over the Internet.&lt;br /&gt;
    * 1. Initially Object - Oriented Language comes which allow us to interact with two object within same application.&lt;br /&gt;
    * 2. Than comes Component Object Model (COM) which allows to interact two objects on the same computer, but in different applications.&lt;br /&gt;
    * 3. Than comes Distributed Component Object Model (DCOM) which allows to interact two objects on different computers, but within same local network.&lt;br /&gt;
    * 4. And finally the web services, which allows two object to interact internet. That is it allows to interact between two object on different computers and even not within same local network.&lt;br /&gt;
&lt;br /&gt;
Example of Web Service&lt;br /&gt;
&lt;br /&gt;
    * Weather Reporting: You can use Weather Reporting web service to display weather information in your personal website.&lt;br /&gt;
    * Stock Quote: You can display latest update of Share market with Stock Quote on your web site.&lt;br /&gt;
    * News Headline: You can display latest news update by using News Headline Web Service in your website.&lt;br /&gt;
    * In summary you can any use any web service which is available to use. You can make your own web service and let others use it. Example you can make Free SMS Sending Service with footer with your companies advertisement, so whosoever use this service indirectly advertise your company... You can apply your ideas in N no. of ways to take advantage of it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Web Service Communication&lt;br /&gt;
Web Services communicate by using standard web protocols and data formats, such as&lt;br /&gt;
&lt;br /&gt;
    * HTTP&lt;br /&gt;
    * XML&lt;br /&gt;
    * SOAP&lt;br /&gt;
&lt;br /&gt;
Advantages of Web Service Communication&lt;br /&gt;
Web Service messages are formatted as XML, a standard way for communication between two incompatible system. And this message is sent via HTTP, so that they can reach to any machine on the internet without being blocked by firewall.&lt;br /&gt;
&lt;br /&gt;
Terms which are frequently used with web services&lt;br /&gt;
&lt;br /&gt;
    * What is SOAP?&lt;br /&gt;
          o SOAP are remote function calls that invokes method and execute them on Remote machine and translate the object communication into XML format. In short, SOAP are way by which method calls are translate into XML format and sent via HTTP.&lt;br /&gt;
&lt;br /&gt;
    * What is WSDL?&lt;br /&gt;
          o WSDL stands for Web Service Description Language, a standard by which a web service can tell clients what messages it accepts and which results it will return.&lt;br /&gt;
          o WSDL contains every details regarding using web service&lt;br /&gt;
                + Method and Properties provided by web service&lt;br /&gt;
                + URLs from which those method can be accessed.&lt;br /&gt;
                + Data Types used.&lt;br /&gt;
                + Communication Protocol used.&lt;br /&gt;
&lt;br /&gt;
    * What is UDDI?&lt;br /&gt;
          o UDDI allows you to find web services by connecting to a directory.&lt;br /&gt;
&lt;br /&gt;
    * What is Discovery or .Disco Files?&lt;br /&gt;
          o Discovery files are used to group common services together on a web server.&lt;br /&gt;
          o Discovery files .Disco and .VsDisco are XML based files that contains link in the form of URLs to resources that provides discovery information for a web service.&lt;br /&gt;
          o .Disco File (static)&lt;br /&gt;
                + .Disco File contains&lt;br /&gt;
                      # URL for the WSDL&lt;br /&gt;
                      # URL for the documentation&lt;br /&gt;
                      # URL to which SOAP messages should be sent.&lt;br /&gt;
                + A static discovery file is an XML document that contains links to other resources that describe web services.&lt;br /&gt;
          o .VsDisco File (dynamic)&lt;br /&gt;
                + A dynamic discovery files are dynamic discovery document that are automatically generated by VS.Net during the development phase of a web service.&lt;br /&gt;
&lt;br /&gt;
    * What is difference between Disco and UDDI?&lt;br /&gt;
          o Disco is Microsoft&#39;s Standard format for discovery documents which contains information about Web Services, while UDDI is a multi-vendor standard for discovery documents which contains information about Web Services.&lt;br /&gt;
&lt;br /&gt;
    * What is Web Service Discovery Tool (disco.exe) ?&lt;br /&gt;
          o The Web Services Discovery Tool (disco.exe) can retrieve discovery information from a server that exposes a web service.&lt;br /&gt;
&lt;br /&gt;
    * What is Proxy Class?&lt;br /&gt;
          o A proxy class is code that looks exactly like the class it meant to represent; however the proxy class doesn&#39;t contain any of the application logic. Instead, the proxy class contains marshalling and transport logic.&lt;br /&gt;
          o A proxy class object allows a client to access a web service as if it were a local COM object.&lt;br /&gt;
          o The Proxy must be on the computer that has the web application.&lt;br /&gt;
&lt;br /&gt;
    * What is Web Service Description Language Tool (wsdl.exe)?&lt;br /&gt;
          o This tool can take a WSDL file and generate a corresponding proxy class that you can use to invoke the web service.&lt;br /&gt;
          o Alternate of generating Proxy class through WSDL.exe is you can use web reference. Web Reference automatically generate a proxy classes for a web service by setting a web reference to point to the web service.&lt;br /&gt;
          o Advantage of using Web Reference as compare to using WSDL.exe Tool is you can update changes done in web service class easily by updating web reference, which is more tedious task with WSDL.exe tool.&lt;br /&gt;
&lt;br /&gt;
    * Testing a Web Service?&lt;br /&gt;
          o You can test web service without building an entire client application.&lt;br /&gt;
                + With Asp.net you can simply run the application and test the method by entering valid input paramters.&lt;br /&gt;
                + You can also use .Net Web Service Studio Tool comes from Microsoft.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example of Creating Web Service in .Net&lt;br /&gt;
&lt;br /&gt;
This Web Service will retrieve CustomerList Country Wise and return as dataset to client application for display.&lt;br /&gt;
&lt;br /&gt;
Step1: Create a Web Service Application by File &gt; New &gt; Web Site &gt; Asp.net Web Services&lt;br /&gt;
Named the web service, for example here i have choosen name &quot;WSGetCustomerCountryWise&quot;&lt;br /&gt;
&lt;br /&gt;
Step2: Rename the default Service.asmx file to proper name, you also need to switch design view and change the class name with the same name you use to rename the service.asmx.&lt;br /&gt;
For example, &quot;WSGetCustomerCountryWise.asmx&quot; and switch to design view and change the class=&quot;Service&quot; to class=&quot;WSGetCustomerCountryWise&quot;&lt;br /&gt;
&lt;br /&gt;
Step3: Rename the Service.CS File to proper name, you need to change the class name and constructor name too.&lt;br /&gt;
For example, &quot;WSGetCustomerCountryWise.CS&quot; and switch to code view and change the class and constructor name to &quot;WSGetCustomerCountryWise&quot;&lt;br /&gt;
&lt;br /&gt;
Step4: Create a Logic for Web Service&lt;br /&gt;
&lt;br /&gt;
    * Create a Method &quot;GetCustomerCountryWise&quot;&lt;br /&gt;
    * Note: You need to specify [WebMethod] before method definition, if you want it to be accessible public, otherwise the method would not be accessible remotely.&lt;br /&gt;
    * Specify proper argument and return type for method in web service.&lt;br /&gt;
    * It is also good practise to specify the use &quot;Description&quot; attribute to tell what method is meant for.&lt;br /&gt;
&lt;br /&gt;
For example, here i need to access data of northwind customers and want to return customer list country wise, so add namespace for&lt;br /&gt;
&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
&lt;br /&gt;
[WebMethod(Description=&quot;It will generate Customer List, Country Wise&quot;)] public System.Xml.XmlElement GetCustomerCountryWise(string sCountry)&lt;br /&gt;
{&lt;br /&gt;
string sConn = ConfigurationManager.ConnectionStrings[&quot;connStr&quot;].ToString();&lt;br /&gt;
&lt;br /&gt;
string sSQL = &quot;select CustomerId, CompanyName, ContactTitle, City &quot; +&lt;br /&gt;
&quot; from Customers where country = &#39;&quot; + sCountry + &quot;&#39;&quot;;&lt;br /&gt;
&lt;br /&gt;
SqlConnection connCustomer = new SqlConnection(sConn);&lt;br /&gt;
&lt;br /&gt;
DataSet dsCustomer = new DataSet();&lt;br /&gt;
&lt;br /&gt;
SqlDataAdapter daCustomer = new SqlDataAdapter(sSQL, sConn);&lt;br /&gt;
&lt;br /&gt;
daCustomer.Fill(dsCustomer,&quot;Customers&quot;);&lt;br /&gt;
&lt;br /&gt;
//Known bug while return &quot;DataSet&quot; is &quot;Data source is an invalid type.&lt;br /&gt;
It must be either an IListSource, IEnumerable, or IDataSource.&quot;&lt;br /&gt;
//For more details on Error: http://support.microsoft.com/kb/317340&lt;br /&gt;
&lt;br /&gt;
//So to access data we need to make use of XmlElement.&lt;br /&gt;
&lt;br /&gt;
// Return the DataSet as an XmlElement.&lt;br /&gt;
System.Xml.XmlDataDocument xdd = new System.Xml.XmlDataDocument(dsCustomer);&lt;br /&gt;
System.Xml.XmlElement docElem = xdd.DocumentElement;&lt;br /&gt;
return docElem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Step5: Build Web Service and Run the Web Service for testing by pressing F5 function key.&lt;br /&gt;
&lt;br /&gt;
By pressing &quot;Invoke&quot; button will generate XML File.&lt;br /&gt;
&lt;br /&gt;
So you are done creating web service application.&lt;br /&gt;
&lt;br /&gt;
Example of Testing Web Service in .Net&lt;br /&gt;
&lt;br /&gt;
This Web Service will display the information which had been retrieved from Remote computer by accessing public method &quot;GetCustomerCountryWise&quot;.&lt;br /&gt;
&lt;br /&gt;
Step1: Create a Test Web Site by File &gt; New &gt; Web Site &gt; Asp.net Web Site&lt;br /&gt;
Named the web site, for example here i have choosen name &quot;TestGetCustomerCountryWise&quot;&lt;br /&gt;
&lt;br /&gt;
Step2: Displaying data in gridview, so drag the gridview on to the form.&lt;br /&gt;
&lt;br /&gt;
Step3: Right Click Solution Explorer and Choose &quot;Add Web Reference&quot;&lt;br /&gt;
&lt;br /&gt;
Step4: Choose the option Web Service on the local machine or you can enter the .WSDL File address directly in URL space and press Go button.&lt;br /&gt;
&lt;br /&gt;
Step5: Press &quot;Add Reference button&quot;&lt;br /&gt;
&lt;br /&gt;
Step6: Writing Code for Displaying data in GridView&lt;br /&gt;
Here note: I have Pass &quot;USA&quot; as parameter in Country Field.&lt;br /&gt;
&lt;br /&gt;
protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
if (!Page.IsPostBack)&lt;br /&gt;
{&lt;br /&gt;
//Create object of WSGetCustomerCountryWise Object&lt;br /&gt;
localhost.WSGetCustomerCountryWise objGetCustomerCountryWise&lt;br /&gt;
= new localhost.WSGetCustomerCountryWise();&lt;br /&gt;
&lt;br /&gt;
DataSet dsCustomer = new DataSet();&lt;br /&gt;
&lt;br /&gt;
// Get the data from Webservice.&lt;br /&gt;
XmlElement elem = objGetCustomerCountryWise.GetCustomerCountryWise(&quot;USA&quot;);&lt;br /&gt;
&lt;br /&gt;
// Load the XML to the Typed DataSet that you want.&lt;br /&gt;
XmlNodeReader nodeReader = new XmlNodeReader(elem);&lt;br /&gt;
dsCustomer.ReadXml(nodeReader, XmlReadMode.Auto);&lt;br /&gt;
&lt;br /&gt;
GridView1.DataSource = dsCustomer;&lt;br /&gt;
&lt;br /&gt;
GridView1.DataBind();&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Few Facts about Web Service in .Net&lt;br /&gt;
&lt;br /&gt;
    * Each Response from web service is a new object, with a new state.&lt;br /&gt;
    * Web Service are asynchronous because the request object from the client application and the response object from the web service are unique SOAP envelopes that do not require shared connection.&lt;br /&gt;
    * This allow client application and the web service to continue processing while the interaction is ongoing.&lt;br /&gt;
    * Instead of a user interface, it provides a standard defined interface called a contract.&lt;br /&gt;
&lt;br /&gt;
Source: http://dotnetguts.blogspot.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/63283731595037539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/basics-of-web-services-in-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/63283731595037539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/63283731595037539'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/basics-of-web-services-in-net.html' title='Basics of Web Services in .net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-1909358124925509196</id><published>2011-06-20T21:07:00.001-07:00</published><updated>2011-06-20T21:07:36.033-07:00</updated><title type='text'>Understanding DateTime and TimeSpan in .Net</title><content type='html'>//Creating Two Instance of DateTime&lt;br /&gt;
DateTime dt1 = new DateTime();&lt;br /&gt;
DateTime dt2 = new DateTime();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Initializing DateTime Object&lt;br /&gt;
dt1 = DateTime.Now.Date; //Initializing with Current Date&lt;br /&gt;
Response.Write(dt1.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22-06-2007 00:00:00&lt;br /&gt;
&lt;br /&gt;
//Examples for DateTime Manipulation in .Net&lt;br /&gt;
//Example 1 : Adding Minutes to Current Date.&lt;br /&gt;
dt1 = dt1.AddMinutes(5.0);&lt;br /&gt;
Response.Write(dt1.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22-06-2007 00:05:00&lt;br /&gt;
&lt;br /&gt;
//Example 2 : Adding Seconds to DateTime Object., similarly you can add milliseconds&lt;br /&gt;
dt1 = dt1.AddSeconds(30.0);&lt;br /&gt;
Response.Write(dt1.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22-06-2007 00:05:30&lt;br /&gt;
&lt;br /&gt;
//Example 3 : Adding Hours to DateTime Object in .Net.&lt;br /&gt;
dt1 = dt1.AddHours(5.0);&lt;br /&gt;
Response.Write(dt1.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22-06-2007 05:05:30&lt;br /&gt;
&lt;br /&gt;
//Example 4 : Adding Time to DateTime Object.&lt;br /&gt;
//You can replace Example 1,2 and 3 by simply adding TimeSpan with your desired&lt;br /&gt;
//TimeSpan value.&lt;br /&gt;
//Here we are adding 5 Hours, 5 Minutes and 30 Seconds.&lt;br /&gt;
dt1 = dt1.Add(new TimeSpan(5,5,30));&lt;br /&gt;
Response.Write(dt1.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22-06-2007 10:11:00&lt;br /&gt;
&lt;br /&gt;
//Example 5 : Adding Days to DateTime Object in .Net&lt;br /&gt;
dt2 = dt1.AddDays(7.0); //Initializing dt2 object with 7 days ahead from&lt;br /&gt;
//dt1 DateTime value.&lt;br /&gt;
Response.Write(dt2.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 29-06-2007 10:11:00&lt;br /&gt;
&lt;br /&gt;
//Example 6 : Adding Month to DateTime Object&lt;br /&gt;
dt2 = dt2.AddMonths(1);&lt;br /&gt;
Response.Write(dt2.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 29-07-2007 10:11:00&lt;br /&gt;
&lt;br /&gt;
//Example 7 : Adding Year to DateTime Object&lt;br /&gt;
dt2 = dt2.AddYears(1);&lt;br /&gt;
Response.Write(dt2.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 29-07-2008 10:11:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Examples of Retrieving DateTime object value.&lt;br /&gt;
//Example 1 : Get Day value.&lt;br /&gt;
int intDay = dt1.Day;&lt;br /&gt;
Response.Write(intDay.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 22&lt;br /&gt;
&lt;br /&gt;
//Example 2 : Get Day of Week.&lt;br /&gt;
DayOfWeek dow = dt1.DayOfWeek;&lt;br /&gt;
Response.Write(dow.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: Friday&lt;br /&gt;
//How to find whether day of week is sunday or saturday?&lt;br /&gt;
if(dow == DayOfWeek.Sunday dow == DayOfWeek.Saturday)&lt;br /&gt;
{&lt;br /&gt;
//Hurray its weekend.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Example 3 : Get the Day of Year&lt;br /&gt;
int intYear = dt1.DayOfYear; //Similarly you can get Year value.&lt;br /&gt;
Response.Write(intYear.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 173&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Similarly you can get Hours, Minutes, Seconds, Milliseconds value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Conversion of String to DateTime&lt;br /&gt;
//Make use of Parse Method of DateTime to &quot;Convert String to DateTime in .Net&quot;&lt;br /&gt;
DateTime dt4 = DateTime.Parse(&quot;08/06/2007&quot;);&lt;br /&gt;
DateTime dt5 = DateTime.Parse(&quot;10/06/2007&quot;);&lt;br /&gt;
&lt;br /&gt;
//Comparing Date&lt;br /&gt;
//How to Find whether both dates are equal or Not?&lt;br /&gt;
//How to compare two dates in .Net?&lt;br /&gt;
if (DateTime.Compare(dt4, dt5) == 0)&lt;br /&gt;
{&lt;br /&gt;
Response.Write(&quot;Both Dates are Equal&quot; + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
else if (DateTime.Compare(dt4, dt5) &lt; 0)
{
Response.Write(dt4.ToString() + &quot; is Less than &quot;
+ dt5.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
Response.Write(dt4.ToString() + &quot; is Greater than &quot;&lt;br /&gt;
+ dt5.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
//Output: 08-06-2007 00:00:00 is Less than 10-06-2007 00:00:00&lt;br /&gt;
/*Note: You may recieve error: &quot;String was not recognized as a valid&lt;br /&gt;
DateTime.&quot; This may be occur as in India the DateTime format is followed&lt;br /&gt;
as &quot;dd/mm/yyyy&quot; But let say if you are in USA than it follow &quot;mm/dd/yyyy&quot; so here&lt;br /&gt;
there is crash situation and so you might recieve above error, so to avoid such&lt;br /&gt;
error make sure that user input valid date before you Parse date. */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Difference between Date&lt;br /&gt;
//How to Find difference between two dates in .Net?&lt;br /&gt;
//How to Find days difference between two dates in .Net?&lt;br /&gt;
//How to subtract one date from another?&lt;br /&gt;
TimeSpan tsDiff = dt5.Subtract(dt4); //Note: Always subtract smaller date&lt;br /&gt;
//value from greater date&lt;br /&gt;
Response.Write(&quot;Difference between &quot; + dt4.ToString() + &quot; and &quot; +&lt;br /&gt;
dt5.ToString() + &quot; is &quot; + tsDiff.Days.ToString() + &quot; days.&quot; + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: Difference between 08-06-2007 00:00:00 and 10-06-2007 00:00:00 is 2 days.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Similarly you can also find:&lt;br /&gt;
//How many hour difference between two dates&lt;br /&gt;
//How many seconds difference between two dates&lt;br /&gt;
//And so on... by changing tsDiff property value to hours, seconds....&lt;br /&gt;
//instead of tsDiff.Days.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Compare Time&lt;br /&gt;
//How to Find whether both Time are equal or Not?&lt;br /&gt;
//How to compare Time in .Net?&lt;br /&gt;
dt4 = DateTime.Parse(&quot;4:30 AM&quot;);&lt;br /&gt;
dt5 = DateTime.Parse(&quot;7:30 PM&quot;);&lt;br /&gt;
if (DateTime.Compare(dt4, dt5) == 0)&lt;br /&gt;
{&lt;br /&gt;
Response.Write(&quot;Both Times are Equal&quot; + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
else if (DateTime.Compare(dt4, dt5) &lt; 0)
{
Response.Write(dt4.ToShortTimeString() + &quot; is Less than &quot;
+ dt5.ToShortTimeString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
Response.Write(dt4.ToShortTimeString() + &quot; is Greater than &quot;&lt;br /&gt;
+ dt5.ToShortTimeString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
}&lt;br /&gt;
//Output: 04:30:00 is Less than 19:30:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Difference between Time&lt;br /&gt;
//How to Find difference between two Time value in .Net?&lt;br /&gt;
//How to Find Hours difference between two Time in .Net?&lt;br /&gt;
//How to subtract one Time from another?&lt;br /&gt;
//How to find elapsed Time between Two Time value in .Net?&lt;br /&gt;
tsDiff = dt5.Subtract(dt4); //Note: Always subtract smaller date&lt;br /&gt;
//value from greater date&lt;br /&gt;
Response.Write(&quot;Difference between &quot; + dt4.ToString() + &quot; and &quot; + dt5.ToString() + &quot; is &quot; + tsDiff.Hours.ToString() + &quot; Hours.&quot; + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: Difference between 22-06-2007 04:30:00 and 22-06-2007 19:30:00 is 15 Hours.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//More on DateTime&lt;br /&gt;
//How many days in a given month in .Net?&lt;br /&gt;
int intDaysInMonth = DateTime.DaysInMonth(2007, 6); //Pass valid year, and month&lt;br /&gt;
Response.Write(intDaysInMonth.ToString() + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: 30&lt;br /&gt;
&lt;br /&gt;
//How to find whether given year is Leap year or not in .Net?&lt;br /&gt;
Response.Write( DateTime.IsLeapYear(2007)); //Pass valid year&lt;br /&gt;
//Output: False&lt;br /&gt;
&lt;br /&gt;
//How to find current date and time?&lt;br /&gt;
Response.Write(&quot;Current Date and Time: &quot; + DateTime.Now + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: Current Date and Time: 22-06-2007 11:31:04&lt;br /&gt;
&lt;br /&gt;
//How to find current date?&lt;br /&gt;
Response.Write(&quot;Current Date: &quot; + DateTime.Today + &quot;&lt;br&gt;&quot;);&lt;br /&gt;
//Output: Current Date: 22-06-2007 00:00:00&lt;br /&gt;
&lt;br /&gt;
Source: http://dotnetguts.blogspot.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/1909358124925509196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/understanding-datetime-and-timespan-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/1909358124925509196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/1909358124925509196'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/understanding-datetime-and-timespan-in.html' title='Understanding DateTime and TimeSpan in .Net'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-386989422840359465</id><published>2011-06-20T02:30:00.001-07:00</published><updated>2011-06-20T02:31:07.824-07:00</updated><title type='text'>What is WPF</title><content type='html'>WPF is Windows Presentation Foundation Framework that shipped as part of the .NET Framework 3.0 . First it has shipped with Windows Vista OS in built, and is re-distributable for Windows XP or Windows Server 2008.&lt;br /&gt;
&lt;br /&gt;
WPF is Object Oriented , XAML based.&lt;br /&gt;
&lt;br /&gt;
* It Uses DirectX Engine for rendering GUI&lt;br /&gt;
* It do not use GDI 32 programming at all as opposed to Win32 applications&lt;br /&gt;
* It do not require more time or cost for graphics, drawing or animation programming&lt;br /&gt;
* It is Easy to change resolution unlike win32 application&lt;br /&gt;
* It is XAML Friendly.&lt;br /&gt;
* It has .NET API that has integrated to XAML (Xtensible Application Markup Language)&lt;br /&gt;
* Easily select the Controls unlike Win32 Controls.&lt;br /&gt;
* It has the ability to create 3D graphics in windows apps&lt;br /&gt;
* It contains Separate API for graphics and animation&lt;br /&gt;
* Most powerful Windows UI Framework&lt;br /&gt;
&lt;br /&gt;
It is used for the&lt;br /&gt;
&lt;br /&gt;
* For the better User Interface &amp; the  Design&lt;br /&gt;
* Customization of Controls&lt;br /&gt;
* Integrating Flash, Direct, Win32, Windows Forms&lt;br /&gt;
* For Generic consistency professional look (Using Styles like CSS in Web)&lt;br /&gt;
&lt;br /&gt;
WPF Provides an unified Model for producing high end GUI easily using normal XML syntax  to render output on graphics devices than using GDI components.&lt;br /&gt;
&lt;br /&gt;
Source: http://beyondrelational.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/386989422840359465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/what-is-wpf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/386989422840359465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/386989422840359465'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/what-is-wpf.html' title='What is WPF'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-9221649567415206197</id><published>2011-06-20T02:17:00.001-07:00</published><updated>2011-06-20T02:18:58.745-07:00</updated><title type='text'>disable double Click on Web Page</title><content type='html'>Some time we face a problem like when we click on the server side button twice or more time ,it call a button event more then one time for single calling .some time it makes problem in our logic .so we need a solution code which hold the page till the server respond the single request .&lt;br /&gt;
Here i am placing a code which is useful in this case.&lt;br /&gt;
&lt;br /&gt;
script type=&quot;text/javascript&quot;&gt;&lt;br /&gt;
function pageLoad(sender, args) {&lt;br /&gt;
var rm = Sys.WebForms.PageRequestManager.getInstance();&lt;br /&gt;
rm.add_initializeRequest(initializeRequest);&lt;br /&gt;
rm.add_endRequest(endRequest);&lt;br /&gt;
}&lt;br /&gt;
function initializeRequest(sender, args) {&lt;br /&gt;
//Disable button to prevent double submit&lt;br /&gt;
var btn = $get(args._postBackElement.id);&lt;br /&gt;
if (btn) {&lt;br /&gt;
btn.disabled = true;&lt;br /&gt;
if (btn.className == &#39;button&#39;)&lt;br /&gt;
btn.className = &#39;buttonDisabled&#39;;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
function endRequest(sender, args) {&lt;br /&gt;
//Re-enable button&lt;br /&gt;
&lt;br /&gt;
var btn = $get(sender._postBackSettings.sourceElement.id);&lt;br /&gt;
if (btn) {&lt;br /&gt;
btn.disabled = false;&lt;br /&gt;
if (btn.className == &#39;buttonDisabled&#39;)&lt;br /&gt;
btn.className = &#39;button&#39;;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
/script&gt;&lt;br /&gt;
&lt;br /&gt;
Source: http://itneeds4u.blogspot.com/</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/9221649567415206197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/disable-double-click-on-web-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/9221649567415206197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/9221649567415206197'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/disable-double-click-on-web-page.html' title='disable double Click on Web Page'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-8294207836221029098</id><published>2011-06-20T02:14:00.001-07:00</published><updated>2011-06-20T02:14:46.520-07:00</updated><title type='text'>Connection Pooling in ADO.NET</title><content type='html'>Why go for Connection Pooling?&lt;br /&gt;
&lt;br /&gt;
Establishing connection to a database is cumbersome and resource burning, most important job in the applications, sometimes it might be slow. Most of the applications need to execute any query on the database server, a connection need to be established. Knowing about the Connection Pooling concepts and tips will definitely improves the performance while connecting to the database and the same time solves the requirement.&lt;br /&gt;
Connection Pooling at a glance?&lt;br /&gt;
&lt;br /&gt;
Connection Pooling is the ability to reuse the database connection for more than one user. That connection might be SQL, OLEDB, ORACLE or whatever. This way of organizing connections in a smarter manner improves performance as the applications do not need to open and close the connection multiple times.&lt;br /&gt;
&lt;br /&gt;
All of us know that we declare the connection string in web.config as follows in .NET Application and make use of this in code behind while connecting to databases.&lt;br /&gt;
view source&lt;br /&gt;
print?&lt;br /&gt;
1.&lt;connectionStrings&gt;&lt;br /&gt;
2.    &lt;add
3.        name=&quot;sqlConnectionString&quot;
4.        connectionString=&quot;Data Source=vhimabindu;Initial Catalog=DNN;password=himavejella;Integrated Security=True; Pooling=true; Max pool size=200; Min poolsize=0&quot; /&gt;&lt;br /&gt;
5.&lt;/connectionStrings&gt;&lt;br /&gt;
&lt;br /&gt;
When the connection is closed or disposed in ADO.NET, it is returned to the connection pool and remains idle for until a request for a new connection comes in. If none comes in within this period, the connection to the backend is closed and the connection instance is removed from the Connection Pool. If all the connections are in the pool are busy then new connection waits in the queue for the existing connections to be released .We can set max connections, connection Pool size, Connection Time out etc settings in the web.config.&lt;br /&gt;
&lt;br /&gt;
The following key value pairs explain the connection pooling settings.&lt;br /&gt;
&lt;br /&gt;
    * Connection Lifetime - The time of Connection Creation will be compared to the current time. If this period exceeds the Connection Lifetime value that is set, then object pooler destroys the connection. The default value is 0; this will give the maximum timeout for connection.&lt;br /&gt;
    * Connection Reset - To reset the connection after it was take out from the Connection pool. The default value is true.&lt;br /&gt;
    * Max pool size - Maximum number of connections allowed within the Connection pool. The value is 100 by default.&lt;br /&gt;
    * Min pool size - Minimum number of connections allowed within the Connection pool. The value is 0 by default.&lt;br /&gt;
    * Pooling - To set the connection Pooling if it is true, the connection is drawn from the pool or created if no connection available from the pool. The value is true by default.&lt;br /&gt;
    * Connection Timeout - Maximum Time (in secs) to wait for a free connection from the pool. The value is 15 by default.&lt;br /&gt;
    * Incr Pool Size - Controls the number of connections which are established, when all the connections are used. The value is 5 by default&lt;br /&gt;
    * Decr Pool Size - Controls the number of connections which are closed when most of the established connections are unused. The value is 1 by default&lt;br /&gt;
&lt;br /&gt;
Points to Ponder&lt;br /&gt;
&lt;br /&gt;
    * Disabling the connection pooling, infers that the connection object that is created by the user will not be re-used to any other user.&lt;br /&gt;
    * A Connection pool will be created when Open() method of connection object is called. If the same application is using multiple Connection Strings (say more than one) then multiple connection pools will be created corresponding to each connection string.&lt;br /&gt;
    * Connection Pooling is applied in ADO.Net by default.&lt;br /&gt;
    * Connections that are not explicitly closed are not added or returned to the pool. Hence The Close() or Dispose() method of Connection need to be called to close the connection.&lt;br /&gt;
    * A Connection Pool is freed from the memory when the last connection to the database is closed.&lt;br /&gt;
    * Connection Pool’s life time is ended as soon as the application domain is unloaded. For example at any time when IISRESET runs the Connection Pool gets destroyed&lt;br /&gt;
    * Connection Pools cannot be shared across application domains.&lt;br /&gt;
&lt;br /&gt;
The best practice Code&lt;br /&gt;
&lt;br /&gt;
The below code is the best practice that is recommended to use.&lt;br /&gt;
view source&lt;br /&gt;
print?&lt;br /&gt;
01.Try&lt;br /&gt;
02.{&lt;br /&gt;
03.    SqlConnection _sqlConnection = new SqlConnection();&lt;br /&gt;
04.    _sqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings[&quot;sqlConnectionString&quot;].ToString();&lt;br /&gt;
05.     &lt;br /&gt;
06.    if (_sqlConnection.State = ConnectionState.Closed)&lt;br /&gt;
07.        _sqlConnection.Open();&lt;br /&gt;
08. &lt;br /&gt;
09.    /*Do some Operations … */&lt;br /&gt;
10.}&lt;br /&gt;
11.catch (Exception ex)&lt;br /&gt;
12.{&lt;br /&gt;
13.    /*Do something */&lt;br /&gt;
14.}&lt;br /&gt;
15.finally&lt;br /&gt;
16.{&lt;br /&gt;
17.    if (_sqlConnection.State != ConnectionState.Closed)      &lt;br /&gt;
18.        _sqlConnection.Close();&lt;br /&gt;
19.}&lt;br /&gt;
&lt;br /&gt;
Connection Pooling improves the performance of the data driven B2B applications as we save some time in reusing the existing active database connections. I will be explaining it in more detail in my next article.&lt;br /&gt;
&lt;br /&gt;
Source: http://beyondrelational.com</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/8294207836221029098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/connection-pooling-in-adonet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8294207836221029098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8294207836221029098'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/connection-pooling-in-adonet.html' title='Connection Pooling in ADO.NET'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-3505729496260679695</id><published>2011-06-20T02:12:00.001-07:00</published><updated>2011-06-20T02:12:23.950-07:00</updated><title type='text'>All about Generics in C#</title><content type='html'>Introduction&lt;br /&gt;
&lt;br /&gt;
Generics in C# are an extension to C# Programming using Generic Types and Methods. I see most of the developers still get confused about generics and do not know to use them in real time projects. That made me to write this article to help understand and refer how to use them?&lt;br /&gt;
&lt;br /&gt;
Basic concept is similar to Templates in C++ with better extensibility and usability. The C++ Templates are compile time Feature whereas Generics is a feature of runtime.&lt;br /&gt;
&lt;br /&gt;
These are a type of data structure that contains code, remains the same. The data type of the parameters will change for each use. We can also call them parameterized types or parametric polymorphism. Generics allow classes, structs, interfaces, delegates, and methods to be parameterized by the types of data they store.&lt;br /&gt;
&lt;br /&gt;
The usage within the data structure adapts to the different data type of the passed variables. This Allows defining type-safe data structures need less committing to actual data types. We reuse data processing algorithms without duplicating type-specific code.&lt;br /&gt;
&lt;br /&gt;
System.Collections.Generic&lt;br /&gt;
&lt;br /&gt;
The System.Collections.Generic namespace contains several generic collection classes based on generics and it is recommended that we should use these collection classes in place of the earlier non-generic ones for better performance of our applications.&lt;br /&gt;
&lt;br /&gt;
The namespace  contains a lot of generic classes, structures, and interfaces like&lt;br /&gt;
&lt;br /&gt;
    * Dictionary&lt;br /&gt;
    * List&lt;br /&gt;
    * Queue&lt;br /&gt;
    * SortedDictionary&lt;br /&gt;
    * Stack&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
view source&lt;br /&gt;
print?&lt;br /&gt;
public class Gen&lt;T&gt;&lt;br /&gt;
        {&lt;br /&gt;
           T t;&lt;br /&gt;
           public T Val&lt;br /&gt;
           {&lt;br /&gt;
               get;&lt;br /&gt;
               set;&lt;br /&gt;
 &lt;br /&gt;
           }&lt;br /&gt;
       }&lt;br /&gt;
&lt;br /&gt;
The class name &quot; Gen&lt;T” represents that the Type is generic, specifically the brackets &lt;&gt;containing the Type. This Type &quot;T&quot; is used to show that if we need to refer to the actual Type that is going to be used when we write this class&quot;.&lt;br /&gt;
&lt;br /&gt;
T t; Creates member of the type T&lt;br /&gt;
&lt;br /&gt;
The generic Type that we will specify during construction of the class will get inserted by the Common Language Runtime (CLR). The final item in the class is the public property. Again, notice that we are using the Type placeholder &quot;T&quot; to represent that generic type for the type of that property. Also notice that we can freely use the private variable &quot;t&quot; within the class.&lt;br /&gt;
&lt;br /&gt;
In order to use this class to hold any Type, we simply need to create a new instance of our new Type, providing the name of the Type within the &quot;&lt;&gt;&quot; brackets and then use that class in a Type-safe manner as shown below.&lt;br /&gt;
view source&lt;br /&gt;
print?&lt;br /&gt;
static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            //create a string version of our generic class&lt;br /&gt;
            Gen str = new Gen();&lt;br /&gt;
            //set the value for the string type&lt;br /&gt;
            str.Val = &quot;Beyond Relational&quot;;&lt;br /&gt;
 &lt;br /&gt;
            //output the type and value&lt;br /&gt;
            System.Console.WriteLine(str.Val);&lt;br /&gt;
            System.Console.WriteLine(str.Val.GetType());&lt;br /&gt;
 &lt;br /&gt;
            //create another instance of our generic class, using a different type&lt;br /&gt;
            Gen flt = new Gen();&lt;br /&gt;
            flt.Val = 12.34;&lt;br /&gt;
            System.Console.WriteLine(flt.Val);&lt;br /&gt;
            //output&lt;br /&gt;
            System.Console.WriteLine(flt.Val.GetType());&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
 &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Generic Collections&lt;br /&gt;
view source&lt;br /&gt;
print?&lt;br /&gt;
public class MessageElement&lt;br /&gt;
{&lt;br /&gt;
 //some functionality&lt;br /&gt;
}&lt;br /&gt;
public class MessageSearchCriteria&lt;br /&gt;
{&lt;br /&gt;
// some functioanlity&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
public List ListMessageElement&lt;br /&gt;
    {&lt;br /&gt;
        get      &lt;br /&gt;
        {&lt;br /&gt;
            return lstMsgElemet;&lt;br /&gt;
        }&lt;br /&gt;
        set&lt;br /&gt;
        {&lt;br /&gt;
            lstMsgElemet = value;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
MessageSearchCriteria objMsgSearch = new MessageSearchCriteria();&lt;br /&gt;
//usage of generics&lt;br /&gt;
objMsgSearch.ListMessageElement = new List();&lt;br /&gt;
&lt;br /&gt;
Advantages&lt;br /&gt;
&lt;br /&gt;
    * Help to make the code in the software components much more reusable.&lt;br /&gt;
    * High Quality Code and Code Maintainability&lt;br /&gt;
    * No runtime Casting No Boxing hence Allows Performance Efficiency&lt;br /&gt;
    * Creates Type safe at compile time as generics specify type at runtime&lt;br /&gt;
    * Programmer has stronger and flexible control over the code&lt;br /&gt;
    * The stronger type checking associated with generics helps in finding errors easily at compile time only.&lt;br /&gt;
    * No code Duplication&lt;br /&gt;
&lt;br /&gt;
Generics refer to classes and methods that work consistently on values of different types</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/3505729496260679695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/all-about-generics-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3505729496260679695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3505729496260679695'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/all-about-generics-in-c.html' title='All about Generics in C#'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-2886506993438197214</id><published>2011-06-04T00:21:00.000-07:00</published><updated>2011-06-04T00:23:47.487-07:00</updated><title type='text'>The Ultimate List of Freely Available .NET Libraries</title><content type='html'>&lt;p&gt;&lt;strong&gt;Ajax&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/AjaxControlToolkit&quot;&gt;Ajax Control Toolkit&lt;/a&gt; - Microsoft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/AjaxPro&quot;&gt;AJAXNet Pro&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://awesome.codeplex.com/&quot;&gt;ASP.NET MVC Project Awesome&lt;/a&gt; - a rich set of helpers (controls) that you can use to build highly responsive and interactive Ajax-enabled Web applications. These helpers include Autocomplete, AjaxDropdown, Lookup, Confirm Dialog, Popup Form and Pager. Thanks &lt;strong&gt;Omu&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Build Tools&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/dnpb/&quot;&gt;Prebuild&lt;/a&gt; - Generate project files for all VS version, including major IDE&#39;s and tools like SharpDevelop, MonoDevelop, NAnt and Autotools&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://genuilder.codeplex.com/&quot;&gt;Genuilder&lt;/a&gt; - Precompiler which lets you transform your source code during the build. Thanks &lt;strong&gt;Harry McIntyre&lt;/strong&gt; &lt;em&gt;(April 13, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Charting/Graphics&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=130F7986-BF49-4FE5-9CA8-910AE6EA442C&amp;amp;displaylang=en&quot;&gt;Microsoft Chart Controls for ASP.NET 3.5 SP1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.msdn.microsoft.com/mschart&quot;&gt;Microsoft Chart Controls for Winforms&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/zedgraph/&quot;&gt;ZedGraph Charting&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.nplot.com/&quot;&gt;NPlot&lt;/a&gt; - Charting for ASP.NET and WinForms&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://graphsharp.codeplex.com/&quot;&gt;Graph#&lt;/a&gt; - a graph layout framework contains some layout algorithms and a GraphLayout control for WPF applications. Thanks &lt;strong&gt;Florian Standhartinger&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Collections/Generics&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://powercollections.codeplex.com/&quot;&gt;PowerCollections&lt;/a&gt; - is a library that provides generic collection classes that are not available in the .NET framework. Some of the collections included are the Deque, MultiDictionary, Bag, OrderedBag, OrderedDictionary, Set, OrderedSet, and OrderedMultiDictionary. Thanks &lt;strong&gt;Adam Ralph&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Compression&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.icsharpcode.net/OpenSource/SharpZipLib/&quot;&gt;SharpZipLib&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/dotnetzip&quot;&gt;DotNetZip&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/YUICompressor&quot;&gt;YUI Compressor&lt;/a&gt; (CSS and JS minification)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://aspnet.codeplex.com/releases/view/40584&quot;&gt;AjaxMinifier (in other downloads)&lt;/a&gt; (CSS and JS minification. Also includes MSBuild task)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://sevenzipsharp.codeplex.com/&quot;&gt;SevenZipSharp&lt;/a&gt; to pack, unpack a lot of different packages (including RAR, 7ZIP, etc).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://zipstorer.codeplex.com/&quot;&gt;ZipStorer&lt;/a&gt; A Pure C# Class to Store Files in Zip&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Controls&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.componentfactory.com/product?id=3&quot;&gt;Krypton&lt;/a&gt; - Free winform controls. Link fixed &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/sourcegrid/&quot;&gt;Source Grid&lt;/a&gt; - A Grid control&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;https://www.devexpress.com/Products/Free/NetOffer/&quot;&gt;DevExpress&lt;/a&gt; - Over 60 Free Controls from DevExpress. Thanks &lt;strong&gt;Florian Standhartinger&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://objectlistview.sourceforge.net/cs/index.html&quot;&gt;ObjectListView&lt;/a&gt; - is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and provides some neat extra functionality. Thanks &lt;strong&gt;Florian Standhartinger&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Data Mapper&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://xmldatamapper.codeplex.com/&quot;&gt;XmlDataMapper&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://automapper.codeplex.com/&quot;&gt;AutoMapper&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/dapper-dot-net/&quot;&gt;Dapper&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massive&quot;&gt;Massive&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://mapperextensions.codeplex.com/&quot;&gt;Mapper Extensions&lt;/a&gt; Thanks &lt;strong&gt;giometrix&lt;/strong&gt; &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Data accessors from the &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff664742%28PandP.50%29.aspx&quot;&gt;Data Access Application Block&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://valueinjecter.codeplex.com/&quot;&gt;Value Injecter&lt;/a&gt; - ets you define your own convention-based matching algorithms (ValueInjections) in order to match up (inject) source values to destination values. Thanks &lt;strong&gt;Omu&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Dependency Injection/Inversion of Control&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/unity&quot;&gt;Unity Framework&lt;/a&gt; - Microsoft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://sourceforge.net/projects/structuremap&quot;&gt;StructureMap&lt;/a&gt; - Jeremy Miller&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.castleproject.org/container/index.html&quot;&gt;Castle Windsor&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://ninject.org/&quot;&gt;NInject&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.springframework.net/&quot;&gt;Spring Framework&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/autofac/&quot;&gt;Autofac&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://simpleservicelocator.codeplex.com&quot;&gt;Simple Service Locator&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://mef.codeplex.com/&quot;&gt;Managed Extensibility Framework&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://hg.grumpydev.com/tinyioc/wiki/Home&quot;&gt;TinyIoC&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://funq.codeplex.com/&quot;&gt;Funq&lt;/a&gt; - a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories. Thanks &lt;strong&gt;Marcel Popescu&lt;/strong&gt; &lt;em&gt;(April 20, 2011).&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://munq.codeplex.com/&quot;&gt;Munq&lt;/a&gt; - a very small, fast dependency injection container designed for ASP.NET applications, both Webforms and MVC. It has, by design, limited features. The main goal has been to minimize the CPU required for Resolving types from the container. Thanks &lt;strong&gt;Marcel Popescu&lt;/strong&gt; &lt;em&gt;(April 20, 2011).&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Design by Contract&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/projects/contracts/&quot;&gt;Microsoft Code Contracts&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/KB/cs/LinFu_Part5.aspx?msg=2417857&quot;&gt;LinFu&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://conditions.codeplex.com&quot;&gt;CuttingEdge.Conditions&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;IDE&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.icsharpcode.net/opensource/sd/&quot;&gt;SharpDevelop&lt;/a&gt; - is a free IDE for C#, VB.NET and Boo projects. Thanks &lt;strong&gt;Florian Standhartinger&lt;/strong&gt; &lt;em&gt;(April 20, 2011).&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Logging&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff664569%28PandP.50%29.aspx&quot;&gt;Logging Application Block&lt;/a&gt; - Microsoft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://logging.apache.org/log4net/&quot;&gt;Log4Net&lt;/a&gt; - Apache&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/elmah/&quot;&gt;Error Logging Modules and Handlers(ELMAH)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.nlog-project.org/&quot;&gt;NLog&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://logging.codeplex.com&quot;&gt;CuttingEdge.Logging&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://netcommon.sourceforge.net&quot;&gt;Logging Abstraction Api &quot;Common.Logging&quot;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;ORM&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.hibernate.org/343.html&quot;&gt;NHibernate&lt;/a&gt; and &lt;a href=&quot;http://fluentnhibernate.org/&quot;&gt;FluentNHibernate&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.castleproject.org/activerecord/index.html&quot;&gt;Castle ActiveRecord&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://subsonicproject.com/&quot;&gt;Subsonic&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://xmldatamapper.codeplex.com/&quot;&gt;XmlDataMapper&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://truss.codeplex.com/&quot;&gt;Truss&lt;/a&gt; Data binding and real time property sync library&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;PDF Creators/Generators&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.pdfsharp.net/&quot;&gt;PDFsharp&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://itextsharp.sourceforge.net/&quot;&gt;iTextSharp&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Automated Web Testing&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://seleniumhq.org&quot;&gt;Selenium&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://watin.sourceforge.net/&quot;&gt;Watin&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Misc Testing/Qualitysupport/Behavoir Driven Development (BDD)&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Testdatagenerator &lt;a href=&quot;http://nbuilder.org/&quot;&gt;NBuilder&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;BDD &lt;a href=&quot;http://storyq.codeplex.com/&quot;&gt;StoryQ&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;BDD &lt;a href=&quot;http://specflow.org/specflow/getting-started.aspx&quot;&gt;specflow&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;URL Rewriting&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://urlrewriter.net/&quot;&gt;url rewriter&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.urlrewriting.net/&quot;&gt;UrlRewriting.Net&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://urlrewriter.codeplex.com&quot;&gt;Url Rewriter and Reverse Proxy&lt;/a&gt; - Managed Fusion/Nick Berardi&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;MS Word/Excel Documents Manipulation&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://docx.codeplex.com/&quot;&gt;DocX&lt;/a&gt; to create, read, manipulate formatted word documents. Easy syntax, working nicely, actively developed. No Microsoft Office necessary.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.carlosag.net/Tools/ExcelXmlWriter/&quot;&gt;Excel XML Writer&lt;/a&gt; allows creation of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated. It also provides &lt;a href=&quot;http://ninject.org/&quot;&gt;code generator&lt;/a&gt; to create code from already created XLS file (saved as xml). Haven&#39;t tested this but looks very promising. Too bad author is long time gone.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.carlosag.net/Tools/ExcelXmlWriter/Generator.aspx&quot;&gt;Excel Reader&lt;/a&gt; allows creation/reading of .XLS (Excel) files. No Microsoft Office necessary. Been a while since it has been updated.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/KB/office/ExcelReader.aspx&quot;&gt;Excel Package&lt;/a&gt; allows creation/reading of .XLSX (Excel 2007) files. No Microsoft Office necessary. Author is gone so it&#39;s out of date.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://epplus.codeplex.com/&quot;&gt;EPPlus&lt;/a&gt; is based on &lt;a href=&quot;http://excelpackage.codeplex.com/&quot;&gt;Excel Package&lt;/a&gt; and allows creation/reading of .XLSX (Excel 2007). It is actually the most advanced even comparing to NPOI.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://npoi.codeplex.com/&quot;&gt;NPOI&lt;/a&gt; is the .NET version of POI Java project at &lt;a href=&quot;http://poi.apache.org/&quot;&gt;http://poi.apache.org/&lt;/a&gt;. POI is an open source project which can help you read/write xls, doc, ppt files.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/sharp2word/&quot;&gt;sharp2word&lt;/a&gt; - a Word 2003 XML Documents Generator from C# code without any components or libraries. Thanks &lt;strong&gt;dublicator&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://closedxml.codeplex.com/&quot;&gt;ClosedXML&lt;/a&gt; - an actively developed library for generating OpenXML Excel files. Thanks &lt;strong&gt;Joseph Robichaud&lt;/strong&gt; &lt;em&gt;(April 26, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Serialization&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.sharpserializer.com/en/index.html&quot;&gt;sharpserializer&lt;/a&gt; - xml/binary serializer for wpf, asp.net and silverlight&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/protobuf-net/&quot;&gt;Protobuf.NET&lt;/a&gt; - fastest serialization port protobuf format into .NET platform. Thanks &lt;strong&gt;slava pocheptsov&lt;/strong&gt; &lt;em&gt;(April 26, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://silverlight.codeplex.com/&quot;&gt;Silverlight Toolkit&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Social Media&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://linqtotwitter.codeplex.com/&quot;&gt;LinqToTwitter&lt;/a&gt; - Linq-based wrapper for all Twitter API functionality in C#&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://facebooksdk.codeplex.com/&quot;&gt;Facebook C# SDK&lt;/a&gt; - A toolkit for creating facebook applications / integrating  websites with Facebook using the new Graph API or the old rest API.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Package managers for external libraries&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://nuget.codeplex.com/&quot;&gt;NuGet&lt;/a&gt; (formerly known as NuPack) - Microsoft (developer-focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://openwrap.org&quot;&gt;OpenWrap&lt;/a&gt; - Sebastien Lambla - Open Source Dependency Manager for .net applications&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Unit Testing/Mocking&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.nunit.org/&quot;&gt;NUnit&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://ayende.com/projects/rhino-mocks.aspx&quot;&gt;Rhino Mocks&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/moq/&quot;&gt;Moq&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.typemock.com/&quot;&gt;TypeMock.Net&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/xunit&quot;&gt;xUnit.net&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://gallio.org&quot;&gt;Gallio&lt;/a&gt;/&lt;a href=&quot;http://www.mbunit.com/&quot;&gt;MbUnit&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://github.com/machine/machine.specifications&quot;&gt;Machine.Specifications&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/fakeiteasy/&quot;&gt;fakeiteasy&lt;/a&gt; - a .Net dynamic fake framework for creating all types of fake objects, mocks, stubs etc. Thanks &lt;strong&gt;Omu&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://nsubstitute.github.com/&quot;&gt;NSubstitute&lt;/a&gt; - a A friendly substitute for .NET mocking frameworks. Thanks &lt;strong&gt; xerxesb&lt;/strong&gt; &lt;em&gt;(May 10, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://shouldly.github.com/&quot;&gt;Shouldly&lt;/a&gt; - How asserting should be. Thanks &lt;strong&gt; xerxesb&lt;/strong&gt; &lt;em&gt;(May 10, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Validation&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ff664356%28PandP.50%29.aspx&quot;&gt;Validation Application Block&lt;/a&gt; - Microsoft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://xval.codeplex.com/&quot;&gt;xVal&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://fluentvalidation.codeplex.com/&quot;&gt;Fluent Validation&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Threading&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/KB/threads/smartthreadpool.aspx&quot;&gt;Smart Thread Pool&lt;/a&gt; - Thread Pool management library&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/retlang/&quot;&gt;Retlang&lt;/a&gt; - a high performance C# threading library. Thanks &lt;strong&gt;MarcBot&lt;/strong&gt; &lt;em&gt;(April 13, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/bbvcommon/&quot;&gt;bbv.Common&lt;/a&gt; - an open source library of software components that makes building multi-threaded, event-based and loosely coupled systems easy. Thanks &lt;strong&gt;Urs Enzler&lt;/strong&gt; &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://wintellect.com/PowerThreading.aspx&quot;&gt;PowerThreading&lt;/a&gt; - a llibrary (DLL) containing many classes to help with threading and asynchronous programming. Thanks &lt;strong&gt;Adam Ralph&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Unclassified&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.lhotka.net/&quot;&gt;CSLA Framework&lt;/a&gt; - Business Objects Framework&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.aforgenet.com/framework/&quot;&gt;AForge.net&lt;/a&gt; - AI, computer vision, genetic algorithms, machine learning&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://compositewpf.codeplex.com/&quot;&gt;Prism&lt;/a&gt; - Composit UI application block for WPF, Silverlight and WP7 - Microsoft patterns &amp;amp; practices&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/entlib&quot;&gt;Enterprise Library 5.0&lt;/a&gt; - Logging, Exception Management, Caching, Cryptography, Data Access, Validation, Security, Policy Injection - Microsoft patterns &amp;amp; practices&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://filehelpers.sourceforge.net/&quot;&gt;File helpers library&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.itu.dk/research/c5/&quot;&gt;C5 Collections&lt;/a&gt; - Collections for .NET&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://quartznet.sourceforge.net/&quot;&gt;Quartz.NET&lt;/a&gt; - Enterprise Job Scheduler for .NET Platform&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.yoda.arachsys.com/csharp/miscutil/&quot;&gt;MiscUtil&lt;/a&gt; - Utilities by Jon Skeet&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/noda-time/&quot;&gt;Noda Time&lt;/a&gt; - DateTime replacement (idomatic port of Joda Time from Java)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://incubator.apache.org/lucene.net/&quot;&gt;Lucene.net&lt;/a&gt; - Text indexing and searching&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/Json&quot;&gt;Json.NET&lt;/a&gt; - Linq over JSON&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.codeplex.com/Flee&quot;&gt;Flee&lt;/a&gt; - expression evaluator&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.postsharp.org/&quot;&gt;PostSharp&lt;/a&gt; - AOP&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.ikvm.net/&quot;&gt;IKVM&lt;/a&gt; - brings the extensive world of Java libraries to .NET.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://webserver.codeplex.com&quot;&gt;C# Webserver&lt;/a&gt; - Embeddable webserver&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://bcl.codeplex.com/releases/view/42783&quot;&gt;Long Path&lt;/a&gt; - Microsoft&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.devincook.com/goldparser/engine/dot-net/index.htm&quot;&gt;.NET Engines for the GOLD Parsing System&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://ncqrs.org/&quot;&gt;NCQRS&lt;/a&gt; - library for event-driven architectures (&lt;a href=&quot;http://www.udidahan.com/2009/12/09/clarified-cqrs/&quot;&gt;CQRS&lt;/a&gt;).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/devlabs/ee794896&quot;&gt;Reactive Extensions for .NET&lt;/a&gt; - a library for composing asynchronous and event-based programs using observable collections. Thanks &lt;strong&gt;steve&lt;/strong&gt; &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/mhutch/Mono.GameMath&quot;&gt;Mono.GameMath&lt;/a&gt; - a project to develop a highly-performant math library for games, based on XNA APIs. Thanks &lt;strong&gt;Alex R&amp;oslash;nne Petersen&lt;/strong&gt; &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/IgniteInteractiveStudio/SLSharp&quot;&gt;SLSharp&lt;/a&gt; - a runtime IL-to-GLSL translation engine, allowing people to write GLSL shaders as C# code. Thanks &lt;strong&gt;Alex R&amp;oslash;nne Petersen&lt;/strong&gt; &lt;em&gt;(April 14, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://infusionsoftdotnet.codeplex.com/&quot;&gt;InfusionSoftDotNet&lt;/a&gt; - a dll to ease the pain for .Net developers to access the InfusionSoft API. Thanks &lt;strong&gt;Michael Gibbs&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://remix.codeplex.com/&quot;&gt;re-mix&lt;/a&gt; - provides mixins for C# and Visual Basic .NET. Thanks &lt;strong&gt;Stefan Papp&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href=&quot;http://www.mono-project.com/Cecil&quot;&gt;Mono.Cecil&lt;/a&gt; - a library written by Jb Evain to generate and inspect programs and libraries in the ECMA CIL format. It has full support for generics, and support some debugging symbol format. Thanks &lt;strong&gt;Florian Standhartinger&lt;/strong&gt; &lt;em&gt;(April 20, 2011)&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/2886506993438197214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/ultimate-list-of-freely-available-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/2886506993438197214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/2886506993438197214'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/ultimate-list-of-freely-available-net.html' title='The Ultimate List of Freely Available .NET Libraries'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-7376008249226709240</id><published>2011-06-04T00:16:00.001-07:00</published><updated>2011-06-04T00:16:36.310-07:00</updated><title type='text'>Hide Form from Alt+Tab</title><content type='html'>Hide Form from Start Bar&lt;br /&gt;To prevent a form from appearing in the Windows Start bar, add this statement to the form’s constructor:&lt;br /&gt;&lt;br /&gt;this.ShowInTaskbar = false;Hide Tool Window from Alt+Tab&lt;br /&gt;To prevent a form from appearing in the list of windows shown when the user presses Alt+Tab, you can designate the form to be a tool window. Note that you can use SizableToolWindow or FixedToolWindow, and ShowInTaskbar must be set to false:&lt;br /&gt;&lt;br /&gt;this.FormBorderStyle = FormBorderStyle.SizableToolWindow;&lt;br /&gt;this.ShowInTaskbar = false;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hide Borderless Form from Alt+Tab&lt;br /&gt;However, if you want the form to be borderless, then you need to add the following statements to the form’s constructor:&lt;br /&gt;&lt;br /&gt;this.FormBorderStyle = FormBorderStyle.None;&lt;br /&gt;this.ShowInTaskbar = false;AND you must add the following method to your derived Form class:&lt;br /&gt;&lt;br /&gt;protected override CreateParams CreateParams&lt;br /&gt;{&lt;br /&gt;    get&lt;br /&gt;    {&lt;br /&gt;        CreateParams cp = base.CreateParams;&lt;br /&gt;        // turn on WS_EX_TOOLWINDOW style bit&lt;br /&gt;        cp.ExStyle |= 0x80;&lt;br /&gt;        return cp;&lt;br /&gt;    }&lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/7376008249226709240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/hide-form-from-alttab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7376008249226709240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/7376008249226709240'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/hide-form-from-alttab.html' title='Hide Form from Alt+Tab'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-876165224128907784</id><published>2011-06-04T00:13:00.000-07:00</published><updated>2011-06-04T00:14:02.431-07:00</updated><title type='text'>Reading the contents of a web page is easy in C#</title><content type='html'>Reading the contents of a web page is easy in C# with the System.Net.WebClient class:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;string url = &quot;http://www.devtopics.com&quot;;&lt;br /&gt;string result = null;&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;    WebClient client = new WebClient();&lt;br /&gt;    result = client.DownloadString( url );&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;    // handle error&lt;br /&gt;    MessageBox.Show( ex.Message );&lt;br /&gt;}The web page is read into the ‘result’ string. Note the URL you pass to the DownloadString method must have the http:// prefix, otherwise it will throw a WebException.&lt;br /&gt;&lt;br /&gt;A more complicated but also more flexible solution is to use the System.Net.HttpWebRequest class, which enables you to interact directly with servers using HTTP:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System.Net;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;&lt;br /&gt;string result = null;&lt;br /&gt;string url = &quot;http://www.devtopics.com&quot;;&lt;br /&gt;WebResponse response = null;&lt;br /&gt;StreamReader reader = null;&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;    HttpWebRequest request = (HttpWebRequest)WebRequest.Create( url );&lt;br /&gt;    request.Method = &quot;GET&quot;;&lt;br /&gt;    response = request.GetResponse();&lt;br /&gt;    reader = new StreamReader( response.GetResponseStream(), Encoding.UTF8 );&lt;br /&gt;    result = reader.ReadToEnd();&lt;br /&gt;}&lt;br /&gt;catch (Exception ex)&lt;br /&gt;{&lt;br /&gt;    // handle error&lt;br /&gt;    MessageBox.Show( ex.Message );&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;    if (reader != null)&lt;br /&gt;        reader.Close();&lt;br /&gt;    if (response != null)&lt;br /&gt;        response.Close();&lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/876165224128907784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/reading-contents-of-web-page-is-easy-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/876165224128907784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/876165224128907784'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/reading-contents-of-web-page-is-easy-in.html' title='Reading the contents of a web page is easy in C#'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-8971023921977824935</id><published>2011-06-03T23:59:00.001-07:00</published><updated>2011-06-03T23:59:42.170-07:00</updated><title type='text'>Determine Windows Version and Edition with C#</title><content type='html'>This article explains how to use C# to determine the name, edition, service pack, version and bits of the host operating system.&lt;br /&gt;For example, the results on my PC would be:&lt;br /&gt;Operation System Information&lt;br /&gt;—————————-&lt;br /&gt;Name = Windows Vista&lt;br /&gt;Edition = Home Premium&lt;br /&gt;Service Pack = Service Pack 1&lt;br /&gt;Version = 6.0.6001.65536&lt;br /&gt;Bits = 64&lt;br /&gt;Sample Program&lt;br /&gt;Here is a simple console program that demonstrates this:&lt;br /&gt;&lt;br /&gt;using System;  &lt;br /&gt;  &lt;br /&gt;namespace CSharp411 &lt;br /&gt;{ &lt;br /&gt;    class Program &lt;br /&gt;    { &lt;br /&gt;        static void Main( string[] args ) &lt;br /&gt;        { &lt;br /&gt;            Console.WriteLine( &quot;Operation System Information&quot; ); &lt;br /&gt;            Console.WriteLine( &quot;----------------------------&quot; ); &lt;br /&gt;            Console.WriteLine( &quot;Name = {0}&quot;, OSInfo.Name ); &lt;br /&gt;            Console.WriteLine( &quot;Edition = {0}&quot;, OSInfo.Edition ); &lt;br /&gt;            Console.WriteLine( &quot;Service Pack = {0}&quot;, OSInfo.ServicePack ); &lt;br /&gt;            Console.WriteLine( &quot;Version = {0}&quot;, OSInfo.VersionString ); &lt;br /&gt;            Console.WriteLine( &quot;Bits = {0}&quot;, OSInfo.Bits ); &lt;br /&gt;            Console.ReadLine(); &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/8971023921977824935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/determine-windows-version-and-edition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8971023921977824935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/8971023921977824935'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/determine-windows-version-and-edition.html' title='Determine Windows Version and Edition with C#'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-6291293376695094706</id><published>2011-06-03T23:56:00.001-07:00</published><updated>2011-06-03T23:56:34.567-07:00</updated><title type='text'>Show ToolTip on TabPage in TabControl</title><content type='html'>So you’ve set the ToolTipText property of a TabPage in a TabControl.  When the user moves the mouse pointer over the tab, the text you specified is supposed to show in a tooltip.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But what if the tooltip is not showing?  Fortunately, this problem has an easy solution:&lt;br /&gt;&lt;br /&gt;Set the ShowToolTips property in the TabControl to true.</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/6291293376695094706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/show-tooltip-on-tabpage-in-tabcontrol.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/6291293376695094706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/6291293376695094706'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/show-tooltip-on-tabpage-in-tabcontrol.html' title='Show ToolTip on TabPage in TabControl'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-4835726802329856705</id><published>2011-06-03T23:55:00.001-07:00</published><updated>2011-06-03T23:55:18.695-07:00</updated><title type='text'>Cosing all forms in an application</title><content type='html'>Cosing all forms in an application seems like it would be a simple task of using a foreach loop in the Application.OpenForms collection, such as:&lt;br /&gt;&lt;br /&gt;foreach (Form form in Application.OpenForms) &lt;br /&gt;{ &lt;br /&gt;    form.Close(); &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But there are two problems.&lt;br /&gt;First, the code above will throw an exception because the OpenForms collection changes each time you close a form, and so the enumerator in your foreach loop becomes invalid when you close a form.  Instead, you need to get an array of all open forms, then loop through the array:&lt;br /&gt;static public void CloseAllForms() &lt;br /&gt;{ &lt;br /&gt;    // get array because collection changes as we close forms &lt;br /&gt;    Form[] forms = OpenForms;  &lt;br /&gt;  &lt;br /&gt;    // close every open form &lt;br /&gt;    foreach (Form form in forms) &lt;br /&gt;    { &lt;br /&gt;        CloseForm( form ); &lt;br /&gt;    } &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Second, it’s quite possible that your application opened one or more forms in a separate thread.  If so, then trying to close a form from your main thread will throw an exception.  So you need to close your forms in a thread-safe manner:&lt;br /&gt;&lt;br /&gt;delegate void CloseMethod( Form form ); &lt;br /&gt;static private void CloseForm( Form form ) &lt;br /&gt;{ &lt;br /&gt;    if (!form.IsDisposed) &lt;br /&gt;    { &lt;br /&gt;        if (form.InvokeRequired) &lt;br /&gt;        { &lt;br /&gt;            CloseMethod method = new CloseMethod( CloseForm ); &lt;br /&gt;            form.Invoke( method, new object[] { form }  ); &lt;br /&gt;        } &lt;br /&gt;        else&lt;br /&gt;        { &lt;br /&gt;            form.Close(); &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/4835726802329856705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/cosing-all-forms-in-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/4835726802329856705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/4835726802329856705'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/cosing-all-forms-in-application.html' title='Cosing all forms in an application'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-5505853971349428547</id><published>2011-06-03T23:47:00.000-07:00</published><updated>2011-06-03T23:49:12.719-07:00</updated><title type='text'>Rename a File in C#</title><content type='html'>If you want to rename a file in C#, you’d expect there to be a File.Rename method, but instead you must use the System.IO.File.Move method.  &lt;br /&gt;You must also handle a special case when the new file name has the same letters but with difference case.  For example, if you want to rename “test.doc” to “Test.doc”, the File.Move method will throw an exception.  So you must rename it to a temp file, then rename it again with the desired case.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt; &lt;br /&gt;/// Renames the specified file. &lt;br /&gt;/// &lt;/summary&gt; &lt;br /&gt;/// &lt;param name=&quot;oldPath&quot;&gt;Full path of file to rename.&lt;/param&gt; &lt;br /&gt;/// &lt;param name=&quot;newName&quot;&gt;New file name.&lt;/param&gt; &lt;br /&gt;static public void RenameFile( string oldPath, string newName ) &lt;br /&gt;{ &lt;br /&gt;    if (String.IsNullOrEmpty( oldPath )) &lt;br /&gt;        throw new ArgumentNullException( &quot;oldPath&quot; ); &lt;br /&gt;    if (String.IsNullOrEmpty( newName )) &lt;br /&gt;        throw new ArgumentNullException( &quot;newName&quot; ); &lt;br /&gt;  &lt;br /&gt;    string oldName = Path.GetFileName( oldPath ); &lt;br /&gt;  &lt;br /&gt;    // if the file name is changed &lt;br /&gt;    if (!String.Equals( oldName, newName, StringComparison.CurrentCulture )) &lt;br /&gt;    { &lt;br /&gt;        string folder = Path.GetDirectoryName( oldPath ); &lt;br /&gt;        string newPath = Path.Combine( folder, newName ); &lt;br /&gt;        bool changeCase = String.Equals( oldName, newName, StringComparison.CurrentCultureIgnoreCase ); &lt;br /&gt;  &lt;br /&gt;        // if renamed file already exists and not just changing case &lt;br /&gt;        if (File.Exists( newPath ) &amp;&amp; !changeCase) &lt;br /&gt;        { &lt;br /&gt;            throw new IOException( String.Format( &quot;File already exists:\n{0}&quot;, newPath ) ); &lt;br /&gt;        } &lt;br /&gt;        else if (changeCase) &lt;br /&gt;        { &lt;br /&gt;            // Move fails when changing case, so need to perform two moves &lt;br /&gt;            string tempPath = Path.Combine( folder, Guid.NewGuid().ToString() ); &lt;br /&gt;            Directory.Move( oldPath, tempPath ); &lt;br /&gt;            Directory.Move( tempPath, newPath ); &lt;br /&gt;        } &lt;br /&gt;        else&lt;br /&gt;        { &lt;br /&gt;            Directory.Move( oldPath, newPath ); &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;}</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/5505853971349428547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/rename-file-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/5505853971349428547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/5505853971349428547'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/rename-file-in-c.html' title='Rename a File in C#'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1200192102127529166.post-3692991041659851332</id><published>2011-06-02T05:48:00.000-07:00</published><updated>2011-06-02T05:49:10.907-07:00</updated><title type='text'>Top 5 SQL System stored procedures every developer should know</title><content type='html'>There are a number of documented and undocumented system stored procedures in MS SQL Server that are helpful for every web developer working with databases. From the developer’s perspective, here’s a list of 5 System stored procedures that are my favorite.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;1. sp_help&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_help gives information about database objects. If you wanted to quickly know the structure of a table but are too lazy to look for the schema diagram or to dig for the table you are interested in within the Object explorer, sp_help is here to help&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;It can be used without parameters to get the information of objects in the database.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_help&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;It can be used with a parameter to get the information of a particular object&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_help &lt;Name of the object&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_help &#39;dbo.tblCompany&#39;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. sp_helptext&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_help gives definition information of objects such as system stored procedures, user defined stored procedures, user defined functions, triggers etc.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_helptext &lt;Name of the object&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_helptext &#39;dbo.sp_tblCompany&#39;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. sp_MSforeachtable&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;This is a very useful stored procedure for executing a command for ALL the tables in the database. Say you wanted to get the number of rows in all the tables in your database, you could write&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;EXEC sp_MSforeachtable &#39;SELECT &#39;&#39;?&#39;&#39;, COUNT(*) FROM ?&#39;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;The literal ? is used as a token to replace the table name.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;4. sp_depends&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Ever wanted to make a change to a table but were not sure what other objects are dependent on this table? There could be views or stored procedures that could break due to this change. In situations like this, sp_depends come to the rescue.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt;sp_depends &lt;Name of the object&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_depends &#39;dbo.tblCompany&#39;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. sp_spaceused&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Purpose&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;This is a simple stored procedure that gives information on the size of the database or the database objects&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Syntax&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;If it is used without parameters, it would return the database information&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_spaceused&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;If it is used with a parameter, it would return the information on the object&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_spaceused &lt;Name of the object&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;sp_spaceused &#39;dbo.tblCompany&#39;</content><link rel='replies' type='application/atom+xml' href='http://mayank-technicals.blogspot.com/feeds/3692991041659851332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/top-5-sql-system-stored-procedures.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3692991041659851332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1200192102127529166/posts/default/3692991041659851332'/><link rel='alternate' type='text/html' href='http://mayank-technicals.blogspot.com/2011/06/top-5-sql-system-stored-procedures.html' title='Top 5 SQL System stored procedures every developer should know'/><author><name>Mayank Agarwal</name><uri>http://www.blogger.com/profile/00164092452683371475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>