<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Surya Prayaga </title><subtitle type="html">Surya lives in India and builds innovative products using microsoft technologies.</subtitle><id>http://weblogs.asp.net/suryaprayaga/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/suryaprayaga/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/suryaprayaga/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2007-10-13T09:21:00Z</updated><entry><title>Office 2010 Web Apps</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/suryaprayaga/archive/2010/06/21/office-2010-web-apps.aspx" /><id>http://weblogs.asp.net/suryaprayaga/archive/2010/06/21/office-2010-web-apps.aspx</id><published>2010-06-22T05:26:00Z</published><updated>2010-06-22T05:26:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #464646; FONT-FAMILY: Calibri; mso-bidi-font-family: Arial"&gt;&amp;nbsp;It Has been almost&amp;nbsp;1 and half year i have been out of blogging in asp.net due to ill health. So i missed my writings on visual studio 2008 though i worked&amp;nbsp;on it. Now as i gained experience on Visual studio 2010 and had a research on it and done projects i'm thinking to post some of my research stuff on 2010 applications. Here it starts with Office 2010 Web Apps.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #464646; FONT-FAMILY: Calibri; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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="FONT-SIZE: 10pt; COLOR: #464646; FONT-FAMILY: Calibri; mso-bidi-font-family: Arial"&gt;When the likes of Google Docs and Zoho were born and strutted the prowess of their very able online word processor and spreadsheet applications, some of us not only applauded but also began to scamper off in that direction. The newbie’s were free, offered collaborative working, and they got the job done. Period. Never mind, if page formatting went for a toss. Or, you had compatibility issues, very limited functionality, or took time to re-learn… Many people appreciated the new simplicity. Yet, many didn’t...&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You couldn’t expect Microsoft to sit pretty and watch upstarts impinge on its home turf. So, turning adversity into opportunity, the world’s biggest software company has just fired its first salvo of online productivity applications in the cloud. Called Microsoft Office 2010 Web Apps (&lt;A title=www.office2010 href="http://www.office2010/"&gt;&lt;FONT color=#0276cf&gt;www.office2010&lt;/FONT&gt;&lt;/A&gt;. microsoft.com), this gives you free online versions of the very familiar Word, Excel, PowerPoint, and OneNote application. These web programmes allow you to create, view, edit or share your Office documents from virtually anywhere — whether you have Office on the computer that you are using at the time or not. All you need is a Windows Live ac-count, a supported browser and an Internet connection. For storage, you automatically get to use Windows Live SkyDrive, Microsoft’s 25GB free online storage space.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;But now don’t get greedy and expect all the plush, rich functionality that you see in the full-blown desktop versions of these programmes. The web versions offer sufficient features to satisfy the majority of us.&lt;BR&gt;Issues like conflict resolution, when two or more users are working on a document together have also been dealt with. Therefore, instal-ling Silverlight (Microsoft’s web application framework that provides a rich media experience on the Web) en-hances the user experience and improves image rendering, but is not necessary to run Office 2010 Web Apps.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Apart from several nifty new features, what is really nice is the fact that Micro-soft Office 2010 works very smoothly in tandem with SkyDrive, allowing you to save documents directly to this personal virtual drive in the cloud. (If you want to take it for a spin, go to &lt;A title=http://is.gd/cucbJ href="http://is.gd/cucbJ"&gt;&lt;FONT color=#0276cf&gt;http://is.gd/cucbJ&lt;/FONT&gt;&lt;/A&gt;.) In fact, if you want to save a file on SkyDrive, you don’t even have to save your file on to your PC first; you can save it directly to the SkyDrive.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;The giant from &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:City w:st="on"&gt;Redmond&lt;/st1:City&gt;&lt;/st1:place&gt; is also working hard and ambitiously to make your SkyDrive resident Office documents accessible (and editable) to your cell phone. While this works perfectly over WiFi and over 3G, what happens over an ordinary EDGE/GPRS connection can be anybody’s guess.&lt;BR&gt;Overall, good going Microsoft… Your move, Google!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7539162" width="1" height="1"&gt;</content><author><name>ostwald</name><uri>http://weblogs.asp.net/members/ostwald.aspx</uri></author><category term="Google Docs" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Google+Docs/default.aspx" /><category term="Office 2010" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Office+2010/default.aspx" /><category term="Microsoft" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Microsoft/default.aspx" /><category term="Zoho" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Zoho/default.aspx" /><category term="Silverlight" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Simple search engine for your website</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/suryaprayaga/archive/2007/12/13/simple-search-engine-for-your-website.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="62837" href="http://weblogs.asp.net/suryaprayaga/attachment/5447589.ashx" /><id>http://weblogs.asp.net/suryaprayaga/archive/2007/12/13/simple-search-engine-for-your-website.aspx</id><published>2007-12-13T03:33:00Z</published><updated>2007-12-13T03:33:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I observed&amp;nbsp;people implementing website search by using google API's or other third party dll's. This is a simple site search engine&amp;nbsp;&amp;nbsp; to search all the images , files ,...&amp;nbsp; in a website without using any third party's like lucene , google.&amp;nbsp; Previously I worked on lucene where i implemented both desktop and database search. But i thought depending on a third party doesn't gain much knowledge. So i've implemented a simple search using&amp;nbsp; &lt;STRONG&gt;regular expressions. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;STRONG&gt;&lt;U&gt;Architecture of the search engine :&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I'm using&amp;nbsp; 5 classes&amp;nbsp; here. Here is the class diagram&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;CleanHtml.cs :&amp;nbsp;This&amp;nbsp;is used to clean the file of HTML Tags&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Page.cs : Page class to store data of individual files on the website&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;PageData.cs : Defines shared methods to create and add records to dataset&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Site.cs : Properties&amp;nbsp;of this class are used to store configurations&amp;nbsp; and data of the entire site&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Usersearch.cs : This class contains all the search function methods.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;U&gt;Design and Implementation :&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here the design interface is inspired by google where I'm using a simple textbox where I'll be giving the input i.e., my search keyword. There are 3 option where i will be searching through phrases, senteces and words. &lt;/P&gt;
&lt;P mce_keep="true"&gt;The input which has been given&amp;nbsp; will be passed as the input to the below method which&amp;nbsp;is an instance of&amp;nbsp; UserSearch inside the code.&amp;nbsp;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; Searchs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;UserSearch&lt;/FONT&gt;&lt;FONT size=2&gt; SearchSite(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; strSearch)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;Searchs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;UserSearch&lt;/FONT&gt;&lt;FONT size=2&gt; srchSite;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;srchSite = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; Searchs.&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;UserSearch&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;srchSite.SearchWords = strSearch;&lt;/P&gt;
&lt;P&gt;..........&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;}&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;Now the search will be looped into all the folders and files in the project and returns the search results which I'm displaying in a list with the url of the file.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Webconfig :&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;In the webconfig I'm keeping restrictions&amp;nbsp; for the search like what files to search , what files not to search etc,...Check below&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;!--&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt; Place the names of the files types you want searching in the following line sepeararted by commas &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;--&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; 
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;FilesTypesToSearch&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;.htm,.html,.asp,.shtml,.aspx,.xml,.jpg&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&amp;lt;!--&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt; Place the names of the dynamic files types you want searching in the following line separated by commas &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;--&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; 
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;DynamicFilesTypesToSearch&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;.asp,.shtml,.aspx,.xml,.jpg&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&amp;lt;!--&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt; Place the names of the folders you don't want searched in the following line spearated by commas&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;--&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; 
&lt;P&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BarredFolders&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;support files,cgi_bin,_bin,bin,_vti_cnf,_notes,images,scripts&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/P&gt;&amp;lt;!--&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt; Place the names of the files you don't want searched in the following line spearated by commas include the file extension&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;--&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &amp;lt;&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;add&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;key&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;BarredFiles&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;value&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;=&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;adminstation.htm,no_allowed.asp,AssemblyInfo.vb,Global.asax,Global.asax.vb,SiteSearch.aspx&lt;/FONT&gt;&lt;FONT size=2&gt;"&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt; 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;This is the basic functionality of my search.In this article I'm posting the complete project. If any comments they are welcome.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;Regards,&lt;/P&gt;
&lt;P mce_keep="true"&gt;Surya.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5447589" width="1" height="1"&gt;</content><author><name>ostwald</name><uri>http://weblogs.asp.net/members/ostwald.aspx</uri></author><category term="Projects" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Projects/default.aspx" /></entry><entry><title>Encrypting URL</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/suryaprayaga/archive/2007/11/14/encrypting-url.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="1987" href="http://weblogs.asp.net/suryaprayaga/attachment/5146243.ashx" /><id>http://weblogs.asp.net/suryaprayaga/archive/2007/11/14/encrypting-url.aspx</id><published>2007-11-14T03:44:00Z</published><updated>2007-11-14T03:44:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;The main idea of building a ASP.NET website is to provide security.&amp;nbsp;Keeping this in mind i have written an encryption class where we can encrypt&amp;nbsp; a particular url&amp;nbsp; and hide the parameter value. &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;For ex :&lt;/STRONG&gt; abc.aspx?id=2&amp;nbsp; will be encrypted to abc.aspx?id=[encrypted value].&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;U&gt;Note&lt;/U&gt;&lt;/EM&gt;:&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;To protect your site from errors or sql injections better pass the queries as stored procedures.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Here is the class for encryption :&lt;/P&gt;
&lt;P mce_keep="true"&gt;using System;&lt;BR&gt;using System.Data;&lt;BR&gt;using System.Configuration;&lt;BR&gt;using System.Web;&lt;BR&gt;using System.Web.Security;&lt;BR&gt;using System.Web.UI;&lt;BR&gt;using System.Web.UI.WebControls;&lt;BR&gt;using System.Web.UI.WebControls.WebParts;&lt;BR&gt;using System.Web.UI.HtmlControls;&lt;BR&gt;using System.Collections.Specialized;&lt;/P&gt;
&lt;P mce_keep="true"&gt;using System.Collections;&lt;BR&gt;/// &amp;lt;summary&amp;gt;&lt;BR&gt;/// Summary description for QueryStringEncDecryption&lt;BR&gt;/// &amp;lt;/summary&amp;gt;&lt;BR&gt;public class QueryStringEncDecryption : NameValueCollection&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private string document;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Document&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return document;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;public QueryStringEncDecryption()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;//&lt;BR&gt;&amp;nbsp;&amp;nbsp;// TODO: Add constructor logic here&lt;BR&gt;&amp;nbsp;&amp;nbsp;//&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public QueryStringEncDecryption(NameValueCollection clone)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : base(clone)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static QueryStringEncDecryption FromCurrent()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return FromUrl(HttpContext.Current.Request.Url.AbsoluteUri);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static QueryStringEncDecryption FromUrl(string url)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] parts = url.Split("?".ToCharArray());&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QueryStringEncDecryption qs = new QueryStringEncDecryption();&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qs.document = parts[0];&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parts.Length == 1)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return qs;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] keys = parts[1].Split("&amp;amp;".ToCharArray());&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string key in keys)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] part = key.Split("=".ToCharArray());&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (part.Length == 1)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qs.Add(part[0], "");&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; qs.Add(part[0], part[1]);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return qs;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ClearAllExcept(string except)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearAllExcept(new string[] { except });&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ClearAllExcept(string[] except)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayList toRemove = new ArrayList();&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string s in this.AllKeys)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string e in except)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (s.ToLower() == e.ToLower())&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!toRemove.Contains(s))&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; toRemove.Add(s);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (string s in toRemove)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Remove(s);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void Add(string name, string value)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this[name] != null)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this[name] = value;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.Add(name, value);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override string ToString()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ToString(false);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string ToString(bool includeUrl)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] parts = new string[this.Count];&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string[] keys = this.AllKeys;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; keys.Length; i++)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parts[i] = keys[i] + "=" + HttpContext.Current.Server.UrlEncode(this[keys[i]]);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string url = String.Join("&amp;amp;", parts);&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((url != null || url != String.Empty) &amp;amp;&amp;amp; !url.StartsWith("?"))&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = "?" + url;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (includeUrl)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url = this.document + url;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return url;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/P&gt;
&lt;P mce_keep="true"&gt;This is just the prieview of the encryption class. We will also be having an other class for Encryption which i'm posting as an attachment. Using these two classes you can encrypt ur URL.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=5146243" width="1" height="1"&gt;</content><author><name>ostwald</name><uri>http://weblogs.asp.net/members/ostwald.aspx</uri></author><category term="Encryption" scheme="http://weblogs.asp.net/suryaprayaga/archive/tags/Encryption/default.aspx" /></entry><entry><title>Starting off my first blog entry by thanking asp.net developers team!</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/suryaprayaga/archive/2007/10/13/starting-off-my-first-blog-entry-by-thanking-asp-net-developers-team.aspx" /><id>http://weblogs.asp.net/suryaprayaga/archive/2007/10/13/starting-off-my-first-blog-entry-by-thanking-asp-net-developers-team.aspx</id><published>2007-10-13T03:21:00Z</published><updated>2007-10-13T03:21:00Z</updated><content type="html">&lt;P mce_keep="true"&gt;I like to thank the complete asp.net developers team for giving me this oppurtunity to be a part of their blogging community.Its an amazing oppurtunity to express our ideas and share them with all the viewers.It took a while for me to start of this blog because of my busy schedule.I assure that I will give my best.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4560761" width="1" height="1"&gt;</content><author><name>ostwald</name><uri>http://weblogs.asp.net/members/ostwald.aspx</uri></author></entry></feed>
