<?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: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-6084803193963175350</id><updated>2012-01-05T21:46:08.535+06:00</updated><title type='text'>See Sharp With ASP.Net</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4719463213244405712</id><published>2011-04-03T03:54:00.002+06:00</published><updated>2011-04-03T04:04:31.570+06:00</updated><title type='text'>Top Ten Errors Java Programmers Make</title><content type='html'>I found a wonderful article while I was tracing an error in my code. Here is the article &lt;a href="http://www.javacoffeebreak.com/articles/toptenerrors.html"&gt;Top Ten Errors Java Programmers Make&lt;/a&gt;. Can you believe, I did the number one error among the listed top ten errors!!! :(&lt;br /&gt;&lt;br /&gt;According to the author, Below are the top ten mistakes that java programmer do while they do coding. So look at them and stop doing the same error again and again :)&lt;br /&gt;&lt;br /&gt;10. Accessing non-static member variables from static methods (such as main)&lt;br /&gt;9. Mistyping the name of a method when overriding&lt;br /&gt;8. Comparison assignment (  = rather than == )&lt;br /&gt;7. Comparing two objects ( == instead of .equals)&lt;br /&gt;6. Confusion over passing by value, and passing by reference&lt;br /&gt;5. Writing blank exception handlers&lt;br /&gt;4. Forgetting that Java is zero-indexed&lt;br /&gt;3. Preventing concurrent access to shared variables by threads&lt;br /&gt;2. Capitalization errors&lt;br /&gt;1. Null pointers!&lt;br /&gt;&lt;br /&gt;For details, please visit the &lt;a href="http://www.javacoffeebreak.com/articles/toptenerrors.html"&gt;original article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Happy programming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4719463213244405712?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4719463213244405712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4719463213244405712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4719463213244405712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4719463213244405712'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2011/04/top-ten-errors-java-programmers-make.html' title='Top Ten Errors Java Programmers Make'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-2085912165154186928</id><published>2011-03-04T03:30:00.003+06:00</published><updated>2011-03-04T03:40:33.930+06:00</updated><title type='text'>Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack</title><content type='html'>Suddenly I am getting the error "Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack" from my asp.net application. After spending sometimes online, I found the following cause and solution for the error. Hope the solution might help you, if you are facing the same problem.&lt;br /&gt;&lt;br /&gt;Error: Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack&lt;br /&gt;&lt;br /&gt;Cause: If you use either Response.Redirect or Server.Transfer method, you may face this problem. I was calling Response.Redirect method inside the Try...Catch block. This happens because both methods call Response.End internally.&lt;br /&gt;&lt;br /&gt;Solution: Pass "false" to endResponse parameter of Response.Redirect method&lt;br /&gt;&lt;br /&gt;Response.Redirect ("xyz.aspx", false);&lt;br /&gt;&lt;br /&gt;Thats it. Simple. &lt;br /&gt;&lt;br /&gt;Happy programming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-2085912165154186928?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/2085912165154186928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=2085912165154186928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/2085912165154186928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/2085912165154186928'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2011/03/unable-to-evaluate-expression-because.html' title='Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-1828667883357812506</id><published>2009-10-27T09:23:00.003+07:00</published><updated>2009-11-04T13:46:53.742+07:00</updated><title type='text'>Celebrate the Release of Windows 7 at IDB Auditorium, Dhaka</title><content type='html'>Celebrate the release of Windows 7 in the biggest launch party ever!&lt;br /&gt;&lt;br /&gt;Who can come: Anyone who uses a computer @ home/work.&lt;br /&gt;&lt;br /&gt;Entry Fee: &lt;strike&gt;50 BDT per person&lt;/strike&gt;&lt;strong&gt;&lt;br&gt;Updated- No entry fee needed&lt;/strong&gt; (Seats Limited).&lt;br /&gt;&lt;br /&gt;Date: Saturday, November 7, 2009&lt;br /&gt;&lt;br /&gt;Time: 10:30am - 1:00pm&lt;br /&gt;&lt;br /&gt;Location:&lt;br /&gt;&lt;br /&gt;IDB Auditorium, IDB Bhaban&lt;br /&gt;E/8-A Rokeya Sarani, Sher-E-Bangla Nagar&lt;br /&gt;Dhaka, Bangladesh&lt;br /&gt;&lt;br /&gt;To register visit: &lt;a href="http://bd.merawindows.com/" onmousedown="'UntrustedLink.bootstrap($(this)," target="_blank" rel="nofollow"&gt;http://bd.merawindows.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Windows 7 community members will be able to install evaluation copy of Windows 7 on the event. Guest are encouraged to come with their laptop.&lt;br /&gt;&lt;br /&gt;Proposed Agenda:&lt;br /&gt;&lt;br /&gt;Introduction to Windows 7 (Presentation)&lt;br /&gt;Demonstrate Live Windows 7 (Live Demo)&lt;br /&gt;Introduction to IE 8 (Presentation and Live)&lt;br /&gt;Demonstrate Windows Live (Presentation)&lt;br /&gt;Windows 7 installation on interested audience's laptop&lt;br /&gt;Small Quiz and distribute small gifts to the participants/winners&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note: Seats are limited so register and confirm your participation. Do hurry!&lt;br /&gt;&lt;br /&gt;Hope everybody will enjoy the party.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-1828667883357812506?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/1828667883357812506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=1828667883357812506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1828667883357812506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1828667883357812506'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2009/10/celebrate-release-of-windows-7-at-idb.html' title='Celebrate the Release of Windows 7 at IDB Auditorium, Dhaka'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-8320735008363694499</id><published>2009-10-25T13:25:00.004+07:00</published><updated>2009-10-25T13:51:35.819+07:00</updated><title type='text'>I am going to Mars!!! Do you want to go?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Z2AqJh34fCk/SuPxo8NcDZI/AAAAAAAAAEs/7kK8RzLFSV0/s1600-h/nasa-ehsan.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 221px;" src="http://1.bp.blogspot.com/_Z2AqJh34fCk/SuPxo8NcDZI/AAAAAAAAAEs/7kK8RzLFSV0/s320/nasa-ehsan.png" alt="" id="BLOGGER_PHOTO_ID_5396422464179539346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ha Ha Ha. This is very interesting. I am going to mars!!! Oops... Not me but my name. LOL. I have found in Nasa's website that they are asking name from people and the name will be included with others on a microchip on the Mars Science Laboratory rover heading to Mars in 2011! I’ve entered my information at Nasa's website and received a certificate of participation which you are seeing in the picture here. It can be viewable from their website &lt;a href="http://mars.jpl.nasa.gov/msl/participate/sendyourname/?action=getcert&amp;amp;hashid=EED4F7FB1D88BAB56F803C5E443255DD"&gt;here&lt;/a&gt; too. So I am going... Oops my name is going at least :). Do you want to go with me?  then register your name in their &lt;a href="http://mars.jpl.nasa.gov/msl/participate/sendyourname/"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hope we will enjoy the journey :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-8320735008363694499?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/8320735008363694499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=8320735008363694499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/8320735008363694499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/8320735008363694499'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2009/10/i-am-going-to-mars-do-you-want-to-go.html' title='I am going to Mars!!! Do you want to go?'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Z2AqJh34fCk/SuPxo8NcDZI/AAAAAAAAAEs/7kK8RzLFSV0/s72-c/nasa-ehsan.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4550478932302842700</id><published>2009-06-11T17:53:00.001+06:00</published><updated>2009-06-11T17:56:46.002+06:00</updated><title type='text'>Why microsoft sharepoint is so popular and is going to be more popular in future?</title><content type='html'>&lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Recently I have started working on sharepoint server 2007. There are many reasons to love this application. I wanted to share some of our findings regarding sharepoint. Hope it will help you to take the right decision.&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-size: 13.5pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Top Ten Reasons Behind the Popularity of Sharepoint&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;There are many reasons behind the popularity of Microsoft sharepoint server. All the details can be found in &lt;/span&gt;&lt;a href="http://sharepoint.microsoft.com/Pages/Default.aspx" target="_blank" title="sharepoint official site"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 102, 204); text-decoration: none;"&gt;sharepoint official site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; . Also I have found some important discussion &lt;/span&gt;&lt;a href="http://www.sharepointhq.com/resources/what_is_SP.htm" target="_blank" title="here"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 102, 204); text-decoration: none;"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; too. However, according to my point of view, following are main 10 reasons behind the popularity of sharepoint server: &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;1. Very easy to use as collaboration platform as it needs browser to access the server&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;2. Instantly create sites from predefined template&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;3. Share documents and tracking them with role based security&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;4. Use as a easy project management tool( manage lists, todo, share files, etc)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;5. Plug and play webparts&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;6. Integrate with microsoft most popular product microsoft office&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;7. Work from internet as well as intranet&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;8. Integrated task calendar with microsoft outlook. so accessible from outlook directly&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;9. Connect developer, manager and client in one platform&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;10. Document versioning and sharepoint designer support to open and edit sharepoint site&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;isn't it enough to be popular sharepoint :)&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-size: 13.5pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Sharepoint Installation&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-size: 13.5pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Sharepoint installation is very easy and straight forward. If anybody is interested then can follow the procedure below:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;1. First of all download the WSS 3.0 from the following location- its good for beginner or you can buy MOOS2007(Microsoft Office Sharepoint Server 2007)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=D51730B5-48FC-4CA2-B454-8DC2CAF93951&amp;amp;displaylang=en" target="_blank"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 102, 204); text-decoration: none;"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=D51730B5-48FC-4CA2-B454-8DC2CAF93951&amp;amp;displaylang=en&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Maintain the following sequence in a windows 2003 server. If you don't have windows server 2003, you can try with virtual pc or vmware what I am doing now&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;2. Install IIS&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;3. Install .net framework 2.0/+&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;4. Configure server&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom: 12pt; line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;5. Install WSS&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;At the final step of installation you will get the link of the server to access. Wish you will enjoy your time with sharepoint.&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="line-height: normal; vertical-align: top;"&gt;&lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt; &lt;/span&gt;&lt;/p&gt; &lt;span style="font-size: 10pt; font-family: 'Arial','sans-serif'; color: rgb(51, 51, 51);"&gt;Happy programming!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4550478932302842700?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4550478932302842700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4550478932302842700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4550478932302842700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4550478932302842700'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2009/06/why-microsoft-sharepoint-is-so-popular.html' title='Why microsoft sharepoint is so popular and is going to be more popular in future?'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-1454213178848241840</id><published>2009-01-22T13:54:00.001+06:00</published><updated>2009-01-22T16:25:57.561+06:00</updated><title type='text'>Make Understand IE6 About 'position:fixed'</title><content type='html'>&lt;p&gt;Many times we need to use fixed position along with relative, static and absolute position in style sheet, specially in AJAX progress bar. Now question is what it does actually? To show the longer content of a web page, browser use scroll bar which can make your progress message out of the sight. Specially, while we update at the bottom of the ajax update panel, user might not notify about the waiting message or update message. We can easily fix the problem by using 'position: fixed' in CSS. But problem is IE6 or older version of IE, don't understand this. To make it understand on this particular style, we need to write a little javascript code in the CSS. Let see that simple code below:&lt;/p&gt;  &lt;pre&gt;.updateProgress&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; background-color:#CF4342;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; color:White;&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; position: absolute; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; top: expression(0+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px'); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; right: expression(0+((e=document.documentElement.scrollLeft)?e:document.body.scrollLeft)+'px');}&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/pre&gt;&lt;br /&gt;Now for cross browser support let see the full code below: &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .updateProgress &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; background-color: #CF4342; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; color: White; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; top: 0px; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; right: 0px; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; position: fixed; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .updateProgress img &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vertical-align: middle; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; margin: 2px; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/style&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;!--[if gte IE 5.5]&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;![if lt IE 7]&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .updateProgress &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; { &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; background-color:#CF4342; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; color:White; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; position: absolute; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; top: expression(0+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px'); &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; right: expression(0+((e=document.documentElement.scrollLeft)?e:document.body.scrollLeft)+'px');} &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; .updateProgress img { &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; vertical-align:middle; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; margin:2px; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/style&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;![endif]&amp;gt; &lt;br /&gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;That’s all. Enjoy Programming!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-1454213178848241840?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/1454213178848241840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=1454213178848241840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1454213178848241840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1454213178848241840'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2009/01/make-understand-ie6-about.html' title='Make Understand IE6 About &amp;#39;position:fixed&amp;#39;'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-1042610450627950937</id><published>2008-09-15T01:51:00.001+06:00</published><updated>2008-09-15T01:51:13.500+06:00</updated><title type='text'>Document Security Over IIS Using Form Authentication</title><content type='html'>&lt;p&gt;We all rely on asp.net authorization technique to protect our forms from anonymous access. But what about documents like pdf, images or other type of documents? By default, if anybody type the direct URL of a document in the browser’s address bar then IIS6 permit them to see the physical document without checking the authentication permission. Its a big threat for secured web-site. To solve the issue, we have to configure IIS such a way so that aspnet_isapi.dll take the control to show the document while request will come. Here is what it can be done:&lt;/p&gt; &lt;p&gt;1. Right click on the virtual directory which need to be secured and select property. From the opened dialogue box select &lt;b&gt;Virtual Directory&lt;/b&gt; tab and click on configuration button. Now add a new configuration with the following settings &lt;p&gt;Executable: aspnet_isapi.dll location &lt;p&gt;Extension: document extension (like .pdf) &lt;p&gt;Verbs: GET &lt;p&gt;&lt;a href="http://lh4.ggpht.com/ehsan.aiub/SM1rGy5b_sI/AAAAAAAAAEM/Ga9bUNRKE8o/s1600-h/clip_image001%5B3%5D.jpg"&gt;&lt;img title="clip_image001" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="225" alt="clip_image001" src="http://lh6.ggpht.com/ehsan.aiub/SM1rKd3b4JI/AAAAAAAAAEQ/WtnZQuugW3c/clip_image001_thumb.jpg?imgmax=800" width="244" border="0"&gt;&lt;/a&gt; &lt;p&gt;2. Add Location path to web.config file &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;location&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; color: red; font-family: 'Courier New'; mso-no-proof: yes"&gt;path&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;"&lt;span style="color: blue"&gt;temp-pdf&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;system.web&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;authorization&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;deny&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; color: red; font-family: 'Courier New'; mso-no-proof: yes"&gt;users&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;"&lt;span style="color: blue"&gt;?&lt;/span&gt;"&lt;span style="color: blue"&gt; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;authorization&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;system.web&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in"&gt;&lt;span style="font-size: 10pt; color: blue; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;location&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;That’s it. You are done. Now if you want that the document will be handle by custom code for extra security then you can add a entry in the http handler in the following way:&lt;/p&gt; &lt;p&gt;1. Add a entry to &lt;b&gt;httphandlers&lt;/b&gt; section to handle the file type for extra security in web.config file&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;httpHandlers&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; font-family: 'Courier New'; mso-no-proof: yes"&gt;add&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt; &lt;/span&gt;&lt;span style="font-size: 10pt; color: red; font-family: 'Courier New'; mso-no-proof: yes"&gt;verb&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;=&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;"&lt;span style="color: blue"&gt;*&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;path&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;*.pdf&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;PdfHandler&lt;/span&gt;"&lt;span style="color: blue"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;validate&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;false&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in"&gt;&lt;span style="font-size: 10pt; color: blue; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 10pt; color: #a31515; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;httpHandlers&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; line-height: 115%; font-family: 'Courier New'; mso-no-proof: yes"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;2. And create a custom class to App_Code following way:&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;Public&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;Class&lt;/span&gt; PdfHandler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Implements&lt;/span&gt; IHttpHandler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Public&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt; &lt;span style="color: blue"&gt;New&lt;/span&gt;()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Public&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt; ProcessRequest(&lt;span style="color: blue"&gt;ByVal&lt;/span&gt; context &lt;span style="color: blue"&gt;As&lt;/span&gt; HttpContext) &lt;span style="color: blue"&gt;Implements&lt;/span&gt; IHttpHandler.ProcessRequest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt; path &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt; = context.Request.PhysicalPath&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Dim&lt;/span&gt; name &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt; = path.Split(&lt;span style="color: #a31515"&gt;"\"c&lt;/span&gt;)(path.Split(&lt;span style="color: #a31515"&gt;"\"c&lt;/span&gt;).Length - 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;If&lt;/span&gt; &lt;span style="color: blue"&gt;Not&lt;/span&gt; &lt;span style="color: blue"&gt;String&lt;/span&gt;.IsNullOrEmpty(path) &lt;span style="color: blue"&gt;AndAlso&lt;/span&gt; path.ToLower().EndsWith(&lt;span style="color: #a31515"&gt;".pdf"&lt;/span&gt;) &lt;span style="color: blue"&gt;Then&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.ClearHeaders()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.ClearContent()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.Clear()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.Charset = &lt;span style="color: blue"&gt;Nothing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.ContentType = &lt;span style="color: #a31515"&gt;"application/pdf"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.AddHeader(&lt;span style="color: #a31515"&gt;"Content-Type"&lt;/span&gt;, &lt;span style="color: #a31515"&gt;"application/pdf"&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.AppendHeader(&lt;span style="color: #a31515"&gt;"Content-Disposition"&lt;/span&gt;, &lt;span style="color: blue"&gt;String&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;"inline;filename={0}"&lt;/span&gt;, name))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;context.Response.WriteFile(path)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Throw&lt;/span&gt; &lt;span style="color: blue"&gt;New&lt;/span&gt; FileNotFoundException(&lt;span style="color: #a31515"&gt;"The page requested is invalid"&lt;/span&gt;, path)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Public&lt;/span&gt; &lt;span style="color: blue"&gt;ReadOnly&lt;/span&gt; &lt;span style="color: blue"&gt;Property&lt;/span&gt; IsReusable() &lt;span style="color: blue"&gt;As&lt;/span&gt; &lt;span style="color: blue"&gt;Boolean&lt;/span&gt; &lt;span style="color: blue"&gt;Implements&lt;/span&gt; IHttpHandler.IsReusable&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;Return&lt;/span&gt; &lt;span style="color: blue"&gt;False&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Get&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Property&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in; line-height: normal; mso-layout-grid-align: none"&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Courier New'; mso-no-proof: yes"&gt;End&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'; mso-no-proof: yes"&gt; &lt;span style="color: blue"&gt;Class&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Note: You can replace the above code with your custom requirements.&lt;/p&gt; &lt;p&gt;Happy Programming!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-1042610450627950937?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/1042610450627950937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=1042610450627950937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1042610450627950937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1042610450627950937'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/09/document-security-over-iis-using-form.html' title='Document Security Over IIS Using Form Authentication'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/ehsan.aiub/SM1rKd3b4JI/AAAAAAAAAEQ/WtnZQuugW3c/s72-c/clip_image001_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-8357725377658192513</id><published>2008-09-15T00:58:00.001+06:00</published><updated>2008-09-15T00:58:33.406+06:00</updated><title type='text'>Advantage and Disadvantage of Using XML and XSLT</title><content type='html'>&lt;p&gt;After getting request from few of my blog readers, I am here to describe some major advantages and disadvantages of using XML and XSLT:  &lt;p&gt;Advantages: &lt;p&gt;1. XSLT applies user defined transformations to an XML document and the output can be HTML, XML, or any other structured document. So it is easy to merge XML data into presentation. &lt;p&gt;2. XPath used by XSLT to locate elements/attribute within an XML document. So it is more convenient way to traverse an XML document rather than a traditional way, by using scripting language. &lt;p&gt;3. Being template based, XSLT is more resilient to changes in documents than low level DOM and SAX.  &lt;p&gt;4. By separating data (XML document) from the presentation (XSLT), it is very easy to change the output format in any time easily without touching the code-behind. &lt;p&gt;5. Using XML and XSLT, the application UI script will look clean and will be easier to maintain &lt;p&gt;6. XSLT templates are based on XPath pattern which is very powerful in terms of performance to process the XML document &lt;p&gt;7. XSLT can be used as a validation language as it uses tree-pattern-matching approach. &lt;p&gt;8. XML is platform independent. &lt;p&gt;9. XML has column flexibility, so it can be update easily rather than a traditional table-row-column approach &lt;p&gt;10. XML Supports Unicode &lt;p&gt;11. XML has self-documenting capability &lt;p&gt;Disadvantages: &lt;p&gt;1. It is difficult to implement complicate business rules in XSLT &lt;p&gt;2. Changing variable value in looping, is difficult in XSLT &lt;p&gt;3. Using XSLT have performance penalty in some cases as its engine don’t optimize code by using caching technique like traditional compiler. &lt;p&gt;4. XML encourage non-relational data structure(de-normalized) &lt;p&gt;&amp;nbsp; &lt;p&gt;Happy Programming!   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-8357725377658192513?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/8357725377658192513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=8357725377658192513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/8357725377658192513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/8357725377658192513'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/09/advantage-and-disadvantage-of-using-xml.html' title='Advantage and Disadvantage of Using XML and XSLT'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-1707532291613756382</id><published>2008-08-28T02:19:00.001+06:00</published><updated>2008-08-28T02:19:38.336+06:00</updated><title type='text'>Browser Back Button Security</title><content type='html'>&lt;p&gt;Sometimes, we have to work for secured project where even&amp;nbsp; browser cache can be a problematic things. Normally in ASP.Net web application, every page is cached by the web browser. So, anybody can thief potential information from the web pages using back button if the user forget to close the browser after sign-out. Sometimes its create a embarrassing situation. But we can kill the cache on the spot easily by adding the following two lines in every page’s PageLoad event which will disable the browser back button functionality in ASP.Net application :&lt;/p&gt; &lt;p&gt;Response.Cache.SetCacheability(HttpCacheability.NoCache);&lt;br&gt;Response.Cache.SetAllowResponseInBrowserHistory(false); &lt;p&gt;The above two line is enough to say the browser not to cache the page. However, you can also add the following three line for better performance&lt;/p&gt; &lt;p&gt;Response.CacheControl = "NO-CACHE";&lt;br&gt;Response.AddHeader("Pragma", "no-cache");&lt;br&gt;Response.Expires = -1; &lt;p&gt;which is the equivalent of the following meta tag&lt;/p&gt;&lt;pre&gt;&amp;lt;meta http-equiv="Pragma" content="no-cache"&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="Expires" content="-1"&amp;gt;&lt;br /&gt;&amp;lt;meta http-equiv="CACHE-CONTROL" content="NO-CACHE"&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Also don’t forget to set authorization in configuration file. So that application will force the user to login page:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;location path="admin"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.web&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deny users="?"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;allow users="*"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/authorization&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system.web&amp;gt;&lt;br&gt;&amp;nbsp; &amp;lt;/location&amp;gt;&lt;br /&gt;&lt;p&gt;Enjoy Programming!&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-1707532291613756382?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/1707532291613756382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=1707532291613756382' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1707532291613756382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1707532291613756382'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/08/browser-back-button-security.html' title='Browser Back Button Security'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-6181073529020435556</id><published>2008-08-23T16:12:00.001+06:00</published><updated>2008-08-23T20:29:46.592+06:00</updated><title type='text'>Building ASP.NET Web Server Controls using XML and XSLT</title><content type='html'>XML(Extensible Markup Language) and XSLT(Extensible Style-sheet Language Transformations) are very popular in terms of use in programming. XML has a vast use in web application because of column flexibility and platform independence ability. Because of column flexibility, programmers can increase or decrease a column anytime without changing much code (like different types of address such as home address, office address, etc). On the other hand, XSLT can traverse XML faster which can operate with lots of XML data quickly and can give the application a dynamic layout without touching any single line of code from the code-behind. So the combination of XML and XSLT can show its own strength and beauty which can boost up our application. Normally XSLT can produce plain XML or HTML without any hassle. But in some cases, plain XML or HTML might not work rather than we might need ASP.Net server controls since they have some valuable events (click event, data binding event, data bound event, etc) and other advanced functionality like state management, input validation, etc. If we want to create our ASP.NET server controls by using XML and XSLT then we should follow some procedures. I have described those procedures with example in my &lt;a href="http://aspalliance.com/1680_Building_ASPNET_Web_Server_Controls_using_XML_and_XSLT" target="_blank"&gt;article&lt;/a&gt; which has been published in &lt;a href="http://www.aspalliance.com" target="_blank"&gt;www.aspalliance.com&lt;/a&gt;&amp;nbsp; &lt;p&gt;Enjoy Programming!!!&lt;/p&gt; &lt;p&gt;&lt;a href="http://aspalliance.com/1680_Building_ASPNET_Web_Server_Controls_using_XML_and_XSLT" target="_blank"&gt;read more&lt;/a&gt; | &lt;a href="http://digg.com/programming/Building_ASP_NET_Web_Server_Controls_using_XML_and_XSLT" target="_blank"&gt;digg story&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-6181073529020435556?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/6181073529020435556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=6181073529020435556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/6181073529020435556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/6181073529020435556'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/08/building-aspnet-web-server-controls.html' title='Building ASP.NET Web Server Controls using XML and XSLT'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-1204929936457463026</id><published>2008-08-23T15:19:00.002+06:00</published><updated>2008-08-23T20:13:51.891+06:00</updated><title type='text'>SQL Injection and XSS in Classic ASP</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;SQL Injection and XSS(cross site scripting) is a big threat for classic asp sites in present days. Before coming ASP.Net in the market, ASP was the very popular scripting language. As a result, there are a good number of e-commerce and enterprise level project already exist using classic asp in the market. According to various source, from the very Beginning of this year, all the asp sites is the main target for SQL Injection and XSS by hackers. Since ASP.net have some built-in mechanism to sanitize input like “ValidateRequest”,”EnableEventValidation”, etc so this is quite safe position regarding XSS. Let me explain very quickly about XSS and SQL Injection:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;SQL Injection&lt;/strong&gt; is a technique by which hackers can execute dangerous SQL commands by taking advantage of un-sanitized input opportunities in web application.  &lt;li&gt;&lt;strong&gt;Cross-Site Scripting(XSS)&lt;/strong&gt; attacks exploit vulnerabilities in Web page validation by injecting client-side script code. The script code embeds itself in response data, which is sent back to an unsuspecting user. The user's browser then runs the script code. The browser has no way of recognizing that the code is not legitimate, and Microsoft Internet Explorer security zones provide no defense. Cross-site scripting attacks also work over HTTP and HTTPS (SSL) connections.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Several communities have already started a few workarounds on these issues. HP Web Security Research Group published a tool named &lt;a href="https://download.spidynamics.com/Products/scrawlr/"&gt;HP Scrawlr&lt;/a&gt;, to find out SQL Injection vulnerabilities in web-sites. Also, Microsoft recently released source code analyzer for SQL Injection. Let me show that how we can protect our valuable site from this threat:&lt;/p&gt; &lt;p&gt;1. A very fast and easy way is to make a central validation system which is very similar approach of ASP.net built-in system. It will inspect all the input variables(form variable, query-string variable, cookie variable,etc) for the vulnerabilities automatically. It will protect the web site not only from SQL injection but also from XSS. &lt;a href="http://aspalliance.com/1703_SQL_Injection_in_Classic_ASP_and_Possible_Solutions"&gt;Here&lt;/a&gt; is one of my research work, how to make such a system. In a really quick description, it will cover the following areas:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Sanitize all the input fields  &lt;li&gt;How to make exception list to give the user flexibility  &lt;li&gt;Default error page forwarding, if any problem found in input fields  &lt;li&gt;Implement a automated reporting system while problem found with details information of inputs,IP,referrer page,etc  &lt;li&gt;Implement a custom error page&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;2. Avoid disclosing database error information by using try…catch and custom error page.&lt;/p&gt; &lt;p&gt;3. Use escape character routines to handle special characters. For example replace the single quote(‘) by the following way:&lt;/p&gt; &lt;p&gt;Replace(Request.Form("txtUsername"), "'", "''")&lt;/p&gt; &lt;p&gt;so that any SQL injection code will be treat like a normal string and will be protect to execute.&lt;/p&gt; &lt;p&gt;4. Use Html encode and decode techniques to show html data. This technique will protect the site from XSS specially.&lt;/p&gt; &lt;p&gt;5. Use stored procedures rather than dynamic query where possible and parameterize query incase of dynamic query&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;6. Use a least privileged database account- only stored procedure will have the permission for update/insert and script will have only read permission&lt;/p&gt; &lt;p&gt;If all the above rules maintain in a site then no worry about SQL injection and XSS. But sometimes it is really very tough; like&amp;nbsp; to convert all the inline query to stored procedure. In that case, we have to implement as much as possible. The first technique will ensure that site secured from the threat and make a primary security layer. the second technique will make the site more stronger and make second security layer then the third and so on. &lt;/p&gt; &lt;p&gt;Reference:&lt;/p&gt; &lt;p&gt;&lt;a href="http://aspalliance.com/1703_SQL_Injection_in_Classic_ASP_and_Possible_Solutions"&gt;http://aspalliance.com/1703_SQL_Injection_in_Classic_ASP_and_Possible_Solutions&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Cross-site_scripting"&gt;http://en.wikipedia.org/wiki/Cross-site_scripting&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://en.wikipedia.org/wiki/Sql_injection" href="http://en.wikipedia.org/wiki/Sql_injection"&gt;http://en.wikipedia.org/wiki/Sql_injection&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy Programming!&lt;/p&gt; &lt;p&gt;&lt;a href="http://aspalliance.com/1703_SQL_Injection_in_Classic_ASP_and_Possible_Solutions" target="_blank"&gt;read more&lt;/a&gt;&lt;a href="http://aspalliance.com/1680_Building_ASPNET_Web_Server_Controls_using_XML_and_XSLT"&gt;&lt;/a&gt;| &lt;a href="http://digg.com/programming/SQL_Injection_in_Classic_ASP_and_Possible_Solutions" target="_blank"&gt;digg story&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-1204929936457463026?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/1204929936457463026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=1204929936457463026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1204929936457463026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/1204929936457463026'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/08/sql-injection-and-xss-in-classic-asp.html' title='SQL Injection and XSS in Classic ASP'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-6902528882912507117</id><published>2008-06-13T15:11:00.000+06:00</published><updated>2008-06-13T15:15:34.575+06:00</updated><title type='text'>Add, Update, Delete Key Value in Web Configuration File from Code Behind</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Add Key:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;          &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;Configuration&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objConfig = &lt;span style="color: rgb(43, 145, 175);"&gt;WebConfigurationManager&lt;/span&gt;.OpenWebConfiguration(&lt;span style="color: rgb(163, 21, 21);"&gt;"~"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objAppsettings&lt;br /&gt;    =(&lt;span style="color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;)objConfig.GetSection(&lt;span style="color: rgb(163, 21, 21);"&gt;"appSettings"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;objAppsettings.Settings.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"apiusername"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"ehsan4u"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;objAppsettings.Settings.Add(&lt;span style="color: rgb(163, 21, 21);"&gt;"apipassword"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"ehsan4u"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;objConfig.Save();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-size:85%;"&gt;Note: It is not recommended as any change in the web.config file will restart the Web server and refresh the cache entries.&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Read Key Value:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;Specific Key Value:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;ConfigurationSettings&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;;"&gt;.AppSettings[&lt;span style="color: rgb(163, 21, 21);"&gt;"apiusername"&lt;/span&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="font-size: 10pt; line-height: 115%;"&gt;All key Value:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;Configuration&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objConfig = &lt;span style="color: rgb(43, 145, 175);"&gt;WebConfigurationManager&lt;/span&gt;.OpenWebConfiguration(&lt;span style="color: rgb(163, 21, 21);"&gt;"~"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objAppsettings = &lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;)objConfig.GetSection(&lt;span style="color: rgb(163, 21, 21);"&gt;"appSettings"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (objAppsettings != &lt;span style="color: blue;"&gt;null&lt;/span&gt;) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;pre style="margin-left: 0.5in;"&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; key &lt;span style="color: blue;"&gt;in&lt;/span&gt; appSettings.Settings.AllKeys) {&lt;/pre&gt;&lt;pre style="margin-left: 0.5in;"&gt;&lt;span style="color: blue;"&gt;&lt;span style=""&gt;  &lt;/span&gt;string&lt;/span&gt; value = appSettings.Settings[key].Value;&lt;/pre&gt;&lt;pre&gt;&lt;span style=""&gt;  &lt;/span&gt; Response.Write(string.Format(&lt;span style="color: maroon;"&gt;"Key: {0} Value: {1}"&lt;/span&gt;, key, value));&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;br /&gt;&lt;b style=""&gt;Update a Value:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;Configuration&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objConfig = &lt;span style="color: rgb(43, 145, 175);"&gt;WebConfigurationManager&lt;/span&gt;.OpenWebConfiguration(&lt;span style="color: rgb(163, 21, 21);"&gt;"~"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objAppsettings = &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;)objConfig.GetSection(&lt;span style="color: rgb(163, 21, 21);"&gt;"appSettings"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (objAppsettings != &lt;span style="color: blue;"&gt;null&lt;/span&gt;){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;    objAppsettings.Settings[strKey].Value = strValue;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;    objConfig.Save();&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Remove&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;Configuration&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objConfig = &lt;span style="color: rgb(43, 145, 175);"&gt;WebConfigurationManager&lt;/span&gt;.OpenWebConfiguration(&lt;span style="color: rgb(163, 21, 21);"&gt;"~"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; objAppsettings = &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;AppSettingsSection&lt;/span&gt;)objConfig.GetSection(&lt;span style="color: rgb(163, 21, 21);"&gt;"appSettings"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (objAppsettings != &lt;span style="color: blue;"&gt;null&lt;/span&gt;){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;objAppsettings.Settings&lt;/span&gt;&lt;span style="font-size: 8.5pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.Remove(key); &lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;objConfig&lt;/span&gt;&lt;span style="font-size: 8.5pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;.Save();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 8.5pt; font-family: &amp;quot;Courier New&amp;quot;; color: black;"&gt;} &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;Reference:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;http://msdn.microsoft.com/en-us/library/system.configuration.appsettingssection.aspx&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-6902528882912507117?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/6902528882912507117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=6902528882912507117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/6902528882912507117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/6902528882912507117'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/06/add-update-delete-key-value-in-web.html' title='Add, Update, Delete Key Value in Web Configuration File from Code Behind'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4544388100260649403</id><published>2008-02-26T17:42:00.003+06:00</published><updated>2008-02-26T18:07:20.637+06:00</updated><title type='text'>Server Application Unavailable</title><content type='html'>&lt;div style="border: 1pt solid windowtext; padding: 1pt 4pt; background: rgb(243, 243, 243) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;  &lt;p class="MsoNormal" style="border: medium none ; padding: 0in; background: rgb(243, 243, 243) none repeat scroll 0% 50%; text-align: center; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" align="center"&gt;&lt;b&gt;&lt;span style="font-size: 16pt; font-family: Verdana; color: rgb(255, 51, 0);"&gt;Server Application Unavailable&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 16pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="border: medium none ; padding: 0in; background: rgb(243, 243, 243) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request.&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="border: medium none ; padding: 0in; background: rgb(243, 243, 243) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Administrator Note: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.&lt;/span&gt; &lt;/p&gt;  &lt;/div&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Today morning, I got the same error in my ASP.Net application as above. I am not getting this error for first time. But the interesting thing is, I solved the error in different way before. I think this problem can be occurs for many reasons. Since I face the problem and spent time to solve this issue, I think it is better to share ideas with others. It may be helpful for those who will get this error in future.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;According to &lt;a href="http://support.microsoft.com/kb/315158"&gt;http://support.microsoft.com/kb/315158&lt;/a&gt; the problem occurs because of Aspnet_wp.exe fails to start. By default, ASP.NET runs its worker process (Aspnet_wp.exe) with a weak account (the local machine account, which is named ASPNET) to provide a more secure environment. On a domain controller or on a backup domain controller, all user accounts are domain accounts and are not local machine accounts. Therefore, Aspnet_wp.exe fails to start because it cannot find a local account named "localmachinename\ASPNET". To provide a valid user account on the domain controller, you must specify an explicit account in the &lt;processmodel&gt; section of the Machine.config file, or you must use the SYSTEM account.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Solution 1:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Check that&lt;span style=""&gt;  &lt;/span&gt;‘IUSR_machine’ and ‘IWAM_machine’&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Solution 2:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;1. Stops the IIS and the ASP.NET state services. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;2. Deletes and then re-creates the ASPNET account by using a known temporary password. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;3. Reregisters ASP.NET. This step creates a new random password for the account and applies default ASP.NET access control settings for the account. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;4. Restarts the Microsoft Internet Information Services (IIS) service.&lt;/span&gt;&lt;span style="font-size: 14pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4544388100260649403?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4544388100260649403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4544388100260649403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4544388100260649403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4544388100260649403'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2008/02/server-application-unavailable.html' title='Server Application Unavailable'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4118638902065200917</id><published>2007-12-29T10:59:00.000+06:00</published><updated>2007-12-29T11:22:33.995+06:00</updated><title type='text'>Alter Database Authorization in SqlServer 2005</title><content type='html'>"&lt;span style="font-weight: bold; color: rgb(153, 153, 153);"&gt;Database diagram support object can not be installed because this database does not have a valid owner. To continue, first use the files page of the Database properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support object&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I have resolved the above issue few days ago by alter database authorization. According to &lt;a href="http://msdn2.microsoft.com/en-us/library/ms187359.aspx"&gt;MSDN&lt;/a&gt; the Alter Authorization syntaxt is&lt;br /&gt;&lt;br /&gt;&lt;pre class="code" id="ctl00_rs1_mainContentContainer_ctl05other" space="preserve"&gt;ALTER AUTHORIZATION&lt;br /&gt;  ON [ &lt;entity_type&gt; :: ] entity_name&lt;br /&gt;  TO { SCHEMA OWNER | principal_name }&lt;br /&gt;&lt;br /&gt;&lt;entity_type&gt; ::=&lt;br /&gt;   {&lt;br /&gt;       Object | Type | XML Schema Collection | Fulltext Catalog | Schema&lt;br /&gt;   | Assembly | Role | Message Type | Contract | Service&lt;br /&gt;   | Remote Service Binding | Route | Symmetric Key | Endpoint&lt;br /&gt;   | Certificate | Database&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;my SQL statement was&lt;br /&gt;&lt;br /&gt;ALTER AUTHORIZATION ON Database::databasename TO username;&lt;br /&gt;&lt;br /&gt;Hope it will help you. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4118638902065200917?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4118638902065200917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4118638902065200917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4118638902065200917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4118638902065200917'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2007/12/alter-database-authorization-in.html' title='Alter Database Authorization in SqlServer 2005'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4281690660260728685</id><published>2007-12-28T09:36:00.000+06:00</published><updated>2007-12-28T10:41:30.216+06:00</updated><title type='text'>Read Resource Value Programmatically By C#</title><content type='html'>There are two types of resource file in .net framework 2.0. They are&lt;br /&gt;&lt;br /&gt;1. Global Resource File and&lt;br /&gt;2. Local Resource File&lt;br /&gt;&lt;br /&gt;Global resource file can be read by &lt;span class="keyword"&gt;GetGlobalResourceObject&lt;/span&gt; method. This method takes two parameter: resource class and the resource key. The class name associates with the .resx file name that contains global resources. Suppose we want the value of "LoginText" from global resource file, named Resource.resx, then our statement will be like below&lt;br /&gt;&lt;br /&gt;&lt;pre class="code" id="ctl00_rs1_mainContentContainer_ctl05VisualBasic" space="preserve"&gt;GetGlobalResourceObject("Resource", "LoginText");&lt;/pre&gt;&lt;br /&gt;Local resource file &lt;span class="keyword"&gt;which normally stored in &lt;/span&gt;App_LocalResources folder, can be read by &lt;span class="keyword"&gt;GetLocalResourceObject method&lt;/span&gt;. &lt;span class="keyword"&gt;GetLocalResourceObject&lt;/span&gt; takes a resource name as parameter. so we can get a local resource value by the following way&lt;br /&gt;&lt;br /&gt;lblMessage.Text = GetLocalResourceObject("msgInvalidLink").ToString();&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4281690660260728685?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4281690660260728685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4281690660260728685' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4281690660260728685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4281690660260728685'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2007/12/read-resource-value-programatically-by.html' title='Read Resource Value Programmatically By C#'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6084803193963175350.post-4057727654401381380</id><published>2007-12-13T13:58:00.000+06:00</published><updated>2007-12-13T15:18:41.599+06:00</updated><title type='text'>Abnormally LDF File Grow Problem in SQL Server 2005</title><content type='html'>Recently I had faced a peculiar problem with my database LDF file. My total database MDF file size was 12 MB but the LDF file size was unexpectedly 21 GB!!! As a result I couldn't take the backup of the LDF file to our web server since our web server had only 1 GB free space. I have solved the problem by the following SQL command&lt;br /&gt;&lt;br /&gt;BACKUP LOG databaseName WITH TRUNCATE_ONLY&lt;br /&gt;GO&lt;br /&gt;DBCC SHRINKFILE (N'database_log' , 2)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Note: If you get "file in use" error message from the above command, try changing the permission to single user mode.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The above command shrink my database log file to 2 MB. Its awesome and solve my problem within few seconds. Hope it will help. :)&lt;br /&gt;&lt;br /&gt;Happy Programming!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6084803193963175350-4057727654401381380?l=dotnetwindow.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnetwindow.blogspot.com/feeds/4057727654401381380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6084803193963175350&amp;postID=4057727654401381380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4057727654401381380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6084803193963175350/posts/default/4057727654401381380'/><link rel='alternate' type='text/html' href='http://dotnetwindow.blogspot.com/2007/12/abnormally-ldf-file-grow-problem-in-sql.html' title='Abnormally LDF File Grow Problem in SQL Server 2005'/><author><name>Ehsan</name><uri>http://www.blogger.com/profile/13426491179411138986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='32' src='http://1.bp.blogspot.com/_Z2AqJh34fCk/TUNLiS9uXeI/AAAAAAAAAIY/F5_LEV8CWk0/s220/Image019.jpg'/></author><thr:total>0</thr:total></entry></feed>
