<?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-4450748452863083044</id><updated>2012-01-28T18:29:03.083+05:30</updated><category term='C#'/><category term='Command'/><category term='महंगाई'/><category term='Financial'/><category term='CSS'/><category term='सकल सर्वर'/><category term='Connection'/><category term='Mail Message'/><category term='OLEDB'/><category term='SMS India'/><category term='सरकार'/><category term='C# Help'/><category term='मुद्दा'/><category term='Applications'/><category term='Cell Fon'/><category term='How to..'/><title type='text'>Deepak Jain</title><subtitle type='html'>.net professional</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-4119287440335552898</id><published>2011-07-13T15:52:00.000+05:30</published><updated>2011-07-13T15:52:43.637+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='मुद्दा'/><category scheme='http://www.blogger.com/atom/ns#' term='महंगाई'/><category scheme='http://www.blogger.com/atom/ns#' term='सरकार'/><title type='text'>क्या दूँ में इसको नाम अब तो नारों की कमी नहीं है इसके लिए</title><content type='html'>&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #999999; font-family: Arial,Helvetica,sans-serif;"&gt;मुद्दा--&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;हाँ आजकल सभी के मन में एक ही सवाल है की कैसे और कब इस महंगाई से छूटकारा मिलेगा. कोई कहता है "जानलेवा महंगाई" तो कोई कहता है "मार रही है महंगाई" तो कोई कहता है "कमर तोड़ महंगाई" और भी न जाने कितने ही नारे बन चुके है इस महंगाई के ऊपर पर छुटकारा नहीं मिला और तो और एक गाना भी बन गया है की "महंगाई&amp;nbsp; डायन खाए जात है"।&lt;br /&gt;&lt;br /&gt;वैसे तो ये मुद्दा अब आम बन चूका है मेरा ये लेख कोई विशेष या अकेला नहीं है कई हजारो ही लेख इस पर लिखे जा चुके है और सबसे बड़ी बात यह है की जिन लोगो ने ये लेख लिखे है वो मेरे से कही ज्यादा तजुर्बेदार और प्रतिभाशाली है मैं तो बस यूँही अपने मन की भड़ास निकलने के लिए कुछ पंक्तिया लिख रहा हूँ।&amp;nbsp; &lt;br /&gt;&lt;br /&gt;और हाँ एक विशेष बात और की इस महंगाई के साथ साथ अज कल एक बात और काफी जोरो पर है वोह ये की इस सरकार से भी कब आज़ादी मिलेगी। मैं अभी हाल ही में एक ब्लॉग पढ़ रहा&amp;nbsp; था की अगर आप ब्लाग, सामाजिक वेबसाइट या किसी और इन्टरनेट माध्यम से सरकार की करतूतों को लोगो तक पहुचाते हो तो वो कितने लोगो तक जाती होगी एक हज़ार, दस हज़ार और ज्यादा से ज्यादा एक लाख लोगो तक चलो मान भी लेते है की वो एक लाख लोग इस सरकार के लिए मतदान न करे परन्तु हमारे देश में फिर भी इतने लोग होंगे जिनके बलबूते कोई भी पक्ष विजय घोषित किया जा सकता है कारण बस एक है की जिन लोगो की यहाँ पर बात की गयी है ये वो वर्ग है जो इन्टरनेट से काफी कोसो दूर है हम लोग तो फिर भी कई माध्यम से इस सरकार की करतूतों को जान लेते है पर इन लोगो के पास तो मीडिया ही एक जरिया है और सरकार तो मीडिया पर दबाब डाल कर इन खबरों को गोल कर देती है फिर भला उन लोगो तक ये बात कैसे उजागर हो की जिस पक्ष के लिए उन्होंने मतदान किया था उसने किस प्रकार इनको लुटा है।&lt;br /&gt;&lt;br /&gt;एचडीएफसी बैंक के मैनेजिंग डायरेक्टर आदित्य पुरी का मानना है कि महंगाई को काबू में करने के लिए ग्रोथ को थोड़ा कम करना जरूरी हो गया है। ऐसे में आरबीआई की प्रमुख दरों में अब 0.25 या 0.5 फीसदी से ज्यादा की बढ़ोतरी नहीं होगी। यदि रिजर्व बैंक अपने प्रमुख दरों में बढ़ोतरी करता है तो जरुरी नहीं कि बैंकों का कर्ज महंगाई होगा।&lt;br /&gt;&lt;br /&gt;अब इस खबर में मुझे ये समझ नहीं आया की दरो में कम बढोतरी की बात की जरा रही है या महंगाई को कम करने की बात की जारही है। अब तो हर तरफ त्राहि त्राहि मची हुयी है ऐसा लगता है की जल्द ही वाष्प से बना ये गुब्बारा बोहत ही जल्द फूटने वाला है परन्तु ये समझ नहीं आता की नयी सरकार अगर महंगाई को कम करने के लिए जो भी कदम उठाएगी तो क्या मोजुदा सरकार वो कदम नहीं उठा सकती या उठाना नहीं चाहती। मतलब तो मेरा सीधा सा है की सरकार कोई भी हो महंगाई से कैसा निबटारा पाया जाये से सोचना चाहिए नाकि सरकार को ही बदल दिया जाये। ऐसा नहीं है की में किसी का पक्ष ले रहा हूँ मैं तो सिर्फ ये कहना चाहता हूँ सरकार को बदलने के लिए फिर चुनाव और उस पर होने वाले खर्चे....उफ़ फिर वोही रोना कभी कभी ये सब सोच कर सर भी फटने लगता है। खैर ये तो लाज़मी है की जो भी लोग मोजुदा सरकार के कारनामो से भलीभांति परिचित होगी वो तो दोबारा मतदान करने से रही &lt;br /&gt;&lt;br /&gt;मुझे समझ नहीं आता की कोन सा बांम भारतीयों के इस दर्द से छुटकारा दिलाने में सफल सिद्ध होगा। महंगाई और भारत में प्रति व्यक्ति आय का कड़वी सच्चाई यह है कि बिहार, असम और झारखंड जैसे गरीब राज्यो΄ मे΄ लोग अपने मासिक बजट की आधी से अधिक राशि महज दो वक्त का भोजन में करने को मजबूर हैं। नेशनल सैपल सर्वे (एनएसएस) की ताजा रिपोर्ट मे΄ यह खुलासा किया गया है। (सोमवार, जुलाई 11, २०११)&lt;br /&gt;&lt;br /&gt;कुछ समय पहले तक को माध्यम वर्ग की किसी तरह गाड़ी चल रही थी लेकिन जब से घरेलु गैस के दाम बड़े तब से तो समझो रही सही कसर भी सरकार ने पूरी कर दी। &lt;br /&gt;&lt;br /&gt;वैसे तो कई बाते है जो मेरे समझ के परे है उनमे से एक बात है जो मुझे असमंजस में डाल देती है की लगभग 70% से ज्यादा भारतीयों का बसेरा अब भी गाँव में है और वो पूर्ण रूप से कृषि पर आधारित है फिर भी फल, सब्जीया हमारे ही हाथो से परे है और चावल तो ऐसे नखरे दिखता है की पूछो मत. &lt;br /&gt;&lt;br /&gt;हाँ ये ज़रूर है की ये महज़ एक शब्द कहो या मीडिया में चर्चा कहो या इन्टरनेट पर सबसे ज्यादा पढ़ा जाने वाला विषय कहो बस येही सब बन कर रह गया है क्यों की आम जनता के हाथ में इतनी शक्ति तो है नहीं की वो तख्ता पलट करदे सिर्फ कहने को विश्व का सबसे बड़ा लोकतंत्र हमारे भारत में है. अरे कहे का लोकतंत्र, जन लोकपाल की हालत तो सभी जानते है और कोन सा हमारे देश में प्रधानमंत्री चुनने की शक्ति हमारे पास होती है वो तो जो पार्टी जोड़ तोड़ कर बन जाती है वो फिर खुद ही चुनाव करती है. वैसे तो ये भी एक अपने में बोहत बड़ा मुद्दा है पर इस पर फिर कभी रोशनी डालेंगे &lt;br /&gt;&lt;br /&gt;जानता हूँ जानता हूँ मेरे लिखने से कुछ होने वाला तो नहीं है पर हाँ इतना ज़रूर है की में अपनी मन की भावना तो व्यक्त कर ही सकता हूँ इस प्रकार &amp;nbsp;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-4119287440335552898?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/4119287440335552898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=4119287440335552898&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4119287440335552898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4119287440335552898'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2011/07/blog-post_13.html' title='क्या दूँ में इसको नाम अब तो नारों की कमी नहीं है इसके लिए'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-5713549512650460661</id><published>2011-07-12T11:58:00.000+05:30</published><updated>2011-07-12T11:58:38.895+05:30</updated><title type='text'>मेरी कलम से: माँ</title><content type='html'>&lt;a href="http://soch-ek-nazar.blogspot.com/2011/07/blog-post_07.html"&gt;मेरी कलम से: माँ&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-5713549512650460661?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://soch-ek-nazar.blogspot.com/2011/07/blog-post_07.html' title='मेरी कलम से: माँ'/><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/5713549512650460661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=5713549512650460661&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5713549512650460661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5713549512650460661'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2011/07/blog-post.html' title='मेरी कलम से: माँ'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-7035125400870783898</id><published>2010-02-13T15:54:00.000+05:30</published><updated>2010-02-13T15:54:38.441+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='How to..'/><category scheme='http://www.blogger.com/atom/ns#' term='C# Help'/><title type='text'>Prevent duplicate execute of my program ?</title><content type='html'>I use the following code in the program.cs - file in C# 2.0:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: url(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif) #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 12px; height: 540px; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt;     [STAThread]&lt;br /&gt;  &lt;br /&gt;     static void Main()&lt;br /&gt;  &lt;br /&gt;     {&lt;br /&gt;       Application.EnableVisualStyles();&lt;br /&gt;       Application.SetCompatibleTextRenderingDefault(false);&lt;br /&gt;       bool createdNew;&lt;br /&gt;       // To prevent the program to be started twice&lt;br /&gt;       ///Create new mutex&lt;br /&gt;System.Threading.Mutex appMutex = new System.Threading.Mutex (true, Application.ProductName, out createdNew);&lt;br /&gt;       ///if creation of mutex is successful&lt;br /&gt;       if (createdNew)&lt;br /&gt;    {&lt;br /&gt;      Application.Run(new frmServer());&lt;br /&gt;      appMutex.ReleaseMutex();&lt;br /&gt;       }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;    /// if the app's already running&lt;br /&gt;string msg = String.Format("The Program \"{0}\" is already running", Application.ProductName);&lt;br /&gt;MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);&lt;br /&gt;  &lt;br /&gt;      }&lt;br /&gt;       }  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-7035125400870783898?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/7035125400870783898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=7035125400870783898&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7035125400870783898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7035125400870783898'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2010/02/prevent-duplicate-execute-of-my-program.html' title='Prevent duplicate execute of my program ?'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-3292623333126542942</id><published>2010-02-06T10:05:00.001+05:30</published><updated>2010-02-06T10:22:08.278+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='How to..'/><category scheme='http://www.blogger.com/atom/ns#' term='Mail Message'/><title type='text'>Using .NET to Send Email</title><content type='html'>E-mail is one of the most common and reliable methods of communication for both personal and business purposes. It also plays an important role in each and every Web site. This role will be in the type of automated e-mails from the server after posting information from a form. You may have noticed these types of e-mails while registering on a site. As soon as you post the form, the server will send an e-mail asking you to confirm either your registration or with the information you entered. If you have to confirm the registration, the server will send you a long URL that you have to click to proceed further with the registration process. A classic example of this functionality is ASP.NET forums. As soon as you register, you will be e-mailed a random password. You will also get e-mails after your post has been accepted by a moderator or if somebody replies to your post. If you are wondering that this is a server magic—it is not. The whole process is made possible with the help of server-side programming languages such as ASP and ASP.NET.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Classic ASP provided a component named CDONTS that a developer should use intelligently to provide e-mail functionality on his or her applications. But this component lacked major functionalities. You can easily send an e-mail, but the process is very difficult for sending e-mails with attachments, HTML versions, and so forth. Almost all server-side languages provide some sort of solution for achieving these tasks. But, ASP.NET simplified the work of developers with the introduction of a special .NET namespace called System.Web.Mail. Moreover, it is very tedious to upload a file to a server with ASP. You have to depend upon third-party components. ASP.NET ships with a cute built-in uploading capability with which your users can easily upload their files. They can also send the file as an attachment along with their e-mails. In this article, you will learn how to send different types of e-mails with ASP.NET.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The .NET Framework supplies a SMTP class that enables you to send a simple e-mail message. If you have to send an e-mail with added functionalities, you have to make use of the MailMessage class. With the help of this class, you can insert attachments, set priorities, and much more, very easily. You can also send HTML e-mail using this class.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;strong&gt;Sending a Simple E-Mail Message&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;To send an e-mail with a simple text message, you have to use the Send() method of SMTP class. The syntax of the Send() method is shown in Listing 1.1 and an example is shown in Listing 1.2:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Listing 1.1&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;SmtpMail.Send("FROM","TO","SUBJECT","MESSAGE BODY");&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Listing 1.2&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;SmtpMail.Send("mymail@domain.com","youremail@yourdomain.com","Thank You",&lt;br /&gt;"Mail to Send");&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Listing 1.3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 12px; height: 374px; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; &lt;br /&gt;MailMessage objEmail = new MailMessage();&lt;br /&gt;objEmail.To = txtTo.Text;&lt;br /&gt;objEmail.From = txtFrom.Text;&lt;br /&gt;objEmail.Cc = txtCc.Text;&lt;br /&gt;objEmail.Subject = "Test Email";&lt;br /&gt;objEmail.Body = txtName.Text + ", " +txtComments.Text;&lt;br /&gt;objEmail.Priority = MailPriority.High;&lt;br /&gt;objEmail.BodyFormat = MailFormat.Html;&lt;br /&gt;// Make sure you have appropriate replying permissions from your local system&lt;br /&gt;//SmtpMail.SmtpServer = "localhost";&lt;br /&gt;try{&lt;br /&gt;    SmtpMail.Send(objEmail);&lt;br /&gt;   }&lt;br /&gt;catch (Exception exc){&lt;br /&gt;    //Print error&lt;br /&gt;}  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;Sending E-Mail Messages Using SMTP authontication&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Listing 1.4&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background: #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 12px; height: 526px; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; using System.Net;&lt;br /&gt; using System.Net.Mail;&lt;/code&gt;&lt;br /&gt;&lt;code style="color: black; word-wrap: normal;"&gt;&lt;br /&gt; MailMessage mailMessage = new MailMessage();&lt;br /&gt; mailMessage.To.Add(new MailAddress(to, toname));&lt;br /&gt; mailMessage.From = new MailAddress(from, fromname);&lt;br /&gt; mailMessage.Sender = new MailAddress(sender, sendername);&lt;br /&gt; mailMessage.ReplyTo = new MailAddress(replyto);&lt;br /&gt; mailMessage.Subject = subject;&lt;br /&gt; mailMessage.Body = body;&lt;br /&gt; mailMessage.IsBodyHtml = true;&lt;br /&gt; if (files != null)&lt;br /&gt;   if (files.Length &amp;gt; 0)&lt;br /&gt;     mailMessage.Attachments.Add(new Attachment(files[0]));&lt;br /&gt; // Create the credentials to login to the gmail account associated with my custom domain &lt;br /&gt; NetworkCredential cred = new NetworkCredential(sender, pwd);&lt;br /&gt; //This is for Gmail Account, you can use your own domain here &lt;br /&gt; SmtpClient mailClient = new SmtpClient("smtp.gmail.com", 465);&lt;br /&gt; mailClient.EnableSsl = true;&lt;br /&gt; mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;&lt;br /&gt; mailClient.UseDefaultCredentials = false;&lt;br /&gt; mailClient.Timeout = 20000;&lt;br /&gt; mailClient.Credentials = cred;&lt;br /&gt; mailClient.Send(mailMessage);  &lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;strong&gt;Listing 1.5&lt;/strong&gt;&lt;br /&gt;&lt;pre style="background: #f0f0f0; border-bottom: #cccccc 1px dashed; border-left: #cccccc 1px dashed; border-right: #cccccc 1px dashed; border-top: #cccccc 1px dashed; color: black; font-family: arial; font-size: 12px; height: 819px; line-height: 20px; overflow: auto; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; &lt;br /&gt;using System.Web.Mail;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MailMessage myMail = new MailMessage();&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.gmail.com");&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", "2");&lt;br /&gt;/*&lt;br /&gt;//sendusing: cdoSendUsingPort, value 2, for sending the message using&lt;br /&gt;//the network.&lt;br /&gt;//smtpauthenticate: Specifies the mechanism used when authenticating&lt;br /&gt;//to an SMTP&lt;br /&gt;//service over the network. Possible values are:&lt;br /&gt;//- cdoAnonymous, value 0. Do not authenticate.&lt;br /&gt;//- cdoBasic, value 1. Use basic clear-text authentication.&lt;br /&gt;//When using this option you have to provide the user name and password&lt;br /&gt;//through the sendusername and sendpassword fields.&lt;br /&gt;//- cdoNTLM, value 2. The current process security context is used to&lt;br /&gt;// authenticate with the service.&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");&lt;br /&gt;//Use 0 for anonymous        &lt;br /&gt;*/&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", pGmailEmail);&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", pGmailPassword);&lt;br /&gt;myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");&lt;br /&gt;myMail.From = pGmailEmail;&lt;br /&gt;myMail.To = pTo;&lt;br /&gt;myMail.Subject = pSubject;&lt;br /&gt;myMail.BodyFormat = pFormat;&lt;br /&gt;myMail.Body = pBody;&lt;br /&gt;if (pAttachmentPath.Trim() != "")&lt;br /&gt;{&lt;br /&gt;    System.Web.Mail.MailAttachment MyAttachment = new System.Web.Mail.MailAttachment(pAttachmentPath);&lt;br /&gt;    myMail.Attachments.Add(MyAttachment);&lt;br /&gt;    myMail.Priority = System.Web.Mail.MailPriority.High;&lt;br /&gt;}&lt;br /&gt;System.Web.Mail.SmtpMail.SmtpServer = "smtp.gmail.com:465";&lt;br /&gt;System.Web.Mail.SmtpMail.Send(myMail);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Source: &lt;/span&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.mail.mailmessage(VS.71).aspx"&gt;&lt;span style="font-size: x-small;"&gt;http://msdn.microsoft.com/en-us/library/system.web.mail.mailmessage(VS.71).aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you are using your local system (Server = localhost) instead of a real live server, you should properly enable relying on the Internet Information Server (IIS).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Table 1&lt;/strong&gt;: MailMessage class properties&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="2" cellpadding="2" cellspacing="2"&gt;&lt;tbody&gt;&lt;tr bgcolor="#ffff99" valign="top"&gt;&lt;td&gt;&lt;b&gt;Property&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Attachments&lt;/td&gt;&lt;td&gt;Used for sending e-mails with attachments&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;From&lt;/td&gt;&lt;td&gt;Sender's e-mail address&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;To&lt;/td&gt;&lt;td&gt;Recipient's e-mail address&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Cc&lt;/td&gt;&lt;td&gt;Recipient's e-mail address (Carbon Copy)&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Bcc&lt;/td&gt;&lt;td&gt;Recipient's e-mail address (Blind Carbon Copy)&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Body&lt;/td&gt;&lt;td&gt;Text of the e-mail message&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;BodyFormat&lt;/td&gt;&lt;td&gt;Specifies the format of an e-mail message (Possible Values: Text, Html)&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Priority&lt;/td&gt;&lt;td&gt;Specifies the priority of an e-mail message (Possible Values: High, Low, and Normal)&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Subject&lt;/td&gt;&lt;td&gt;Denotes the subject of an e-mail message&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;Headers&lt;/td&gt;&lt;td&gt;Denotes a collection of acceptable headers (Example: Reply-To)&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;BodyEncoding&lt;/td&gt;&lt;td&gt;Specifies the method of encoding an e-mail message (Possible Values: Base64 and UUEncode)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-3292623333126542942?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/3292623333126542942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=3292623333126542942&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3292623333126542942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3292623333126542942'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2010/02/using-net-to-send-email.html' title='Using .NET to Send Email'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-7668364635907547223</id><published>2010-02-03T15:30:00.001+05:30</published><updated>2010-02-03T15:50:07.537+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Command'/><category scheme='http://www.blogger.com/atom/ns#' term='Connection'/><title type='text'>Connection.Execute and Command.Execute</title><content type='html'>Command.Execute is more versatile, gives you more options, is probably more efficient. It allows you to setup parameters for your sql statements, stored procedures, create Prepared statements etc. You can retrieve information from stored procedure Output and Return Value parameters. It is more work to implement but in my mind worth the effort. It is not limited to stored procedures.&lt;br /&gt;Personally, I never use Connection.Execute. &lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&amp;nbsp; &lt;br /&gt;The main reason I use Command.Execute is because I hate writing (and reading) this type of code. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;strSQL = "Insert Into SomeTable (Field1, Field2, Field3) Values( " _&lt;br /&gt;            &amp;amp; SomeLongVariable &amp;amp; ", '" &amp;amp; SomeStringVariable &amp;amp; "','" _&lt;br /&gt;            &amp;amp; Format$(SomeDateVariable,"yyyymmdd") &amp;amp; "'"&lt;br /&gt;&lt;br /&gt;Connection.Execute strsql &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I prefer to write this type of code. Again, more work but in my opinion, its worth it.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;strSQL = "Insert Into SomeTable (Field1, Field2, Field3) Values(?,?,?)"&lt;br /&gt;&lt;br /&gt;With Command&lt;br /&gt;.CommandText = strsql&lt;br /&gt;.CommandType = adCmdText&lt;br /&gt;.Parameters.Append .CreateParameter("Field1", adInteger,adParamInput)&lt;br /&gt;.Parameters.Append .CreateParameter("Field2", advarchar,adParamInput,20)&lt;br /&gt;.Parameters.Append .CreateParameter("Field3", adDBTimeStamp,adParamInput)&lt;br /&gt;End With&lt;br /&gt;&lt;br /&gt;'Then when its time to execute.&lt;br /&gt;&lt;br /&gt;With Command&lt;br /&gt;Set .ActiveConnection = SomeConnection&lt;br /&gt;.Parameters(0).Value = SomeLongVariable&lt;br /&gt;.Parameters(1).Value = SomeStringVariable&lt;br /&gt;.Parameters(2).Value = SomeDateVariable&lt;br /&gt;.Execute lngRowsAffected, , adExecuteNoRecords&lt;br /&gt;End With &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;There r some points by which one can say that command.execute is faster than connection.execute&lt;br /&gt;&lt;br /&gt;1.Command.Prepared = true prepared the temp. store proc, query plan for the specified query or SP. Hence due to this the further execution speeds up the exection time.&lt;br /&gt;2.Connection object is only one we suppose to use to open the connection. hence any execution fired will be in pipeline/ or any execution have to wait for rest all execution gets completed.&lt;br /&gt;&lt;br /&gt;Might be these points are not exactly true.... If u r having the thorough knowledge of this and if u r very sure then plz tell me which one is faster and why?&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-7668364635907547223?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/7668364635907547223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=7668364635907547223&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7668364635907547223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7668364635907547223'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2010/02/connectionexecute-and-commandexecute.html' title='Connection.Execute and Command.Execute'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-4094431058596893675</id><published>2009-11-24T17:46:00.000+05:30</published><updated>2009-11-24T17:48:14.917+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Applications'/><category scheme='http://www.blogger.com/atom/ns#' term='Financial'/><title type='text'>Market Live</title><content type='html'>Marketlive offers live streaming stock market and index quotes from BSE &amp;amp; NSE. All data extracted from &lt;a href="http://yahoo.com/" jquery1259065081531="42" cmimpressionsent="1"&gt;yahoo.com&lt;/a&gt;. Easy to use. Dot net framework 2.0 must be installed on your computer before using of this application.&lt;br /&gt;&lt;br /&gt;Check out the link : &lt;a href="http://marketlive.sourceforge.net/"&gt;http://marketlive.sourceforge.net/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-4094431058596893675?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://sourceforge.net/projects/marketlive/' title='Market Live'/><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/4094431058596893675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=4094431058596893675&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4094431058596893675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4094431058596893675'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/11/market-live.html' title='Market Live'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-6761856647714973685</id><published>2009-11-24T15:12:00.002+05:30</published><updated>2010-02-03T15:57:48.676+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OLEDB'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# Tutorial - Using The Built In OLEDB CSV Parser</title><content type='html'>So, a while ago, one of the other writers here wrote a small tutorial on &lt;a href="http://www.switchonthecode.com/tutorials/building-a-simple-csv-parser-in-csharp" jquery1259055804718="30"&gt;parsing simple CSV files in C#&lt;/a&gt;. It mostly just showed off the string split method, and only worked on really simple CSV files - no quoted fields, etc. Well, we got a comment asking about that, so today I sat down thinking I would write up a more robust parser. But as I read through the &lt;a href="http://rfc.net/rfc4180.html" jquery1259055804718="31" title="RFC 4180"&gt;RFC&lt;/a&gt; that describes CSV files, I thought to myself, am I suffering from NIH (not invented here) syndrome? Do I really need to write a full CSV parser?&lt;br /&gt;And, as you might expect, the answer is no. Not only did I not need to write a parser, I found that there is one that is built into OLEDB subsystem of Windows! And it actually takes fewer lines of code to use this built in parser than it does to do the simple string split algorithm that was in the previous tutorial (and it feels a lot nicer too). I was originally planning on this being a decently long tutorial, when I thought I would write my own parser - but you are actually in for a really short and simple one today. Less for me to write, less for you to read, and more functionality to boot!&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;So, without further ado, I think we can jump straight into the code:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;using System;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.IO; //not used by default&lt;br /&gt;using System.Data.OleDb; //not used by default&lt;br /&gt;&lt;br /&gt;namespace CSVParserExample&lt;br /&gt;{&lt;br /&gt;class CSVParser&lt;br /&gt;{&lt;br /&gt;public static DataTable ParseCSV(string path)&lt;br /&gt;{&lt;br /&gt;if (!File.Exists(path))&lt;br /&gt;return null;&lt;br /&gt;&lt;br /&gt;string full = Path.GetFullPath(path);&lt;br /&gt;string file = Path.GetFileName(full);&lt;br /&gt;string dir = Path.GetDirectoryName(full);&lt;br /&gt;&lt;br /&gt;//create the "database" connection string&lt;br /&gt;string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"&lt;br /&gt;+ "Data Source=\"" + dir + "\\\";"&lt;br /&gt;+ "Extended Properties=\"text;HDR=No;FMT=Delimited\"";&lt;br /&gt;&lt;br /&gt;//create the database query&lt;br /&gt;string query = "SELECT * FROM " + file;&lt;br /&gt;&lt;br /&gt;//create a DataTable to hold the query results&lt;br /&gt;DataTable dTable = new DataTable();&lt;br /&gt;&lt;br /&gt;//create an OleDbDataAdapter to execute the query&lt;br /&gt;OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);&lt;br /&gt;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;//fill the DataTable&lt;br /&gt;dAdapter.Fill(dTable);&lt;br /&gt;}&lt;br /&gt;catch (InvalidOperationException /*e*/)&lt;br /&gt;{ }&lt;br /&gt;&lt;br /&gt;dAdapter.Dispose();&lt;br /&gt;&lt;br /&gt;return dTable;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/pre&gt;So, first off, you will need to add the namespaces System.IO and System.Data.OleDb. The first we need because we will be doing some path manipulation, and the second gives us access to what we will need to do CSV parsing. I've created a nice static function here that takes a path to a CSV file and returns the contents of the file in a DataTable (which is really easy to view and manipulate).&lt;br /&gt;The weird thing about all of this is that the CSV file gets treated as a database table. We need to create a connection string with the Jet OLEDB provider, and you set the Data Source to be the directory that contains the CSV file. Under extended properties, 'text' means that we are parsing a text file (as opposed to, say, an Excel file), the HDR property can be set to 'Yes' (the first row in the CSV files is header information) or 'No' (there is no header row), and setting the FMT property set to 'Delimited' essentially says that we will be working with a comma separated value file. You can also set FMT to 'FixedLength', for files where the fields are fixed length - but that wouldn't be a CSV file anymore, would it?&lt;br /&gt;The next part to do is create the actual query. In this case, we want everything, so we have a "SELECT *". What are we selecting from? Well, in this somewhat twisted worldview, the directory is the database, so the file is the table we are selecting from.&lt;br /&gt;Now we are into normal OLEDB territory - we create a DataTable that we will be filling with results, and we create a OleDbDataAdapter to actually execute the query. Then (inside of a try block, because it can throw an exception) we fill the data table with the results of the query. Afterwords, we clean up after ourselves by disposing the OleDbDataAdapter, and we return the now filled data table.&lt;br /&gt;And using the now filled data table is extremely simple - we actually talk about it &lt;a href="http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-database" jquery1259055804718="32"&gt;here&lt;/a&gt; and &lt;a href="http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-collection" jquery1259055804718="33"&gt;here&lt;/a&gt;.&lt;br /&gt;And there you go! I'm not sure how parsing CSV could be much easier. If you would like the Visual Studio project I used to test all this, you can grab it &lt;a href="http://www.switchonthecode.com/sites/default/files/215/source/SOTC-CSVParserExample.zip" jquery1259055804718="34"&gt;here&lt;/a&gt;. And, as always, if you have any questions or comments, leave them below.&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-6761856647714973685?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/6761856647714973685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=6761856647714973685&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/6761856647714973685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/6761856647714973685'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/11/c-tutorial-using-built-in-oledb-csv.html' title='C# Tutorial - Using The Built In OLEDB CSV Parser'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-3403981198503812607</id><published>2009-08-11T13:39:00.002+05:30</published><updated>2010-02-03T15:42:17.053+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>How to create rounded corner box using CSS</title><content type='html'>&lt;div class="post-body"&gt;&lt;div&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;For a long time web designers were using table tags to create rounded corner tables or boxes. They all used the same method, three rows by three columns to be able to create flexible tables with rounded corner. This way is absolutely gone and we are no longer using it now, we are using the CSS method, which is easier and faster.&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;ONE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;First thing is to prepare all your rounded corner images&lt;br /&gt;&lt;img hspace="3" src="http://www.designrific.com/images/tLeft.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt; &lt;img hspace="3" src="http://www.designrific.com/images/tRight.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt; &lt;img hspace="3" src="http://www.designrific.com/images/bLeft.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt; &lt;img hspace="3" src="http://www.designrific.com/images/bRight.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt;&lt;br /&gt;&lt;br /&gt;Then create a normal &amp;lt;div&amp;gt; box&lt;br /&gt;HTML:&lt;br /&gt;&amp;lt;div class="box"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;CSS:&lt;br /&gt;.box {width:200px; height:200px; background-color:#FFFFFF;}&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333; font-size: 130%;"&gt;TWO&lt;/span&gt;&lt;br /&gt;After that we add the top left background to it, or whatever corner you would like to add. The CSS will be:&lt;br /&gt;.box {&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;background-image:url(images/tLeft.gif);&lt;br /&gt;background-position:top left;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is your progress till now:&lt;br /&gt;&lt;img hspace="3" src="http://www.designrific.com/images/tleft_.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: #333333;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;THREE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Create another &amp;lt;div&amp;gt; tag inside the first one and add the top right background to it.&lt;br /&gt;HTML:&lt;br /&gt;&amp;lt;div class="box"&amp;gt;&amp;lt;div class="tRight"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;CSS:&lt;br /&gt;.box {&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;background-image:url(images/tLeft.gif);&lt;br /&gt;background-position:top left;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.tRight&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/tRight.gif);&lt;br /&gt;background-position:top right;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is your progress till now:&lt;br /&gt;&lt;img hspace="3" src="http://www.designrific.com/images/tright_.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;FOUR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Create another &amp;lt;div&amp;gt; tag inside and add the bottom Right background to it.&lt;br /&gt;HTML:&lt;br /&gt;&amp;lt;div class="box"&amp;gt;&amp;lt;div class="tRight"&amp;gt;&amp;lt;div class="bRight"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;CSS:&lt;br /&gt;.box {&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;background-image:url(images/tLeft.gif);&lt;br /&gt;background-position:top left;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.tRight&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/tRight.gif);&lt;br /&gt;background-position:top right;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.bRight&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/bRight.gif);&lt;br /&gt;background-position:bottom right;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is your progress till now:&lt;br /&gt;&lt;img hspace="3" src="http://www.designrific.com/images/tright_.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;FIVE and the LAST STEP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The last corner to add, do the same and add the forth &amp;lt;div&amp;gt; tag inside with the bottom left corner in the backround of it.&lt;br /&gt;&lt;br /&gt;HTML:&lt;br /&gt;&amp;lt;div class="box"&amp;gt;&amp;lt;div class="tRight"&amp;gt;&amp;lt;div class="bRight"&amp;gt;&amp;lt;div class="bLeft"&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;CSS:&lt;br /&gt;.box {&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-color:#FFFFFF;&lt;br /&gt;background-image:url(images/tLeft.gif);&lt;br /&gt;background-position:top left;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.tRight&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/tRight.gif);&lt;br /&gt;background-position:top right;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.bRight&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/bRight.gif);&lt;br /&gt;background-position:bottom right;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.bLeft&lt;br /&gt;{&lt;br /&gt;width:200px;&lt;br /&gt;height:200px;&lt;br /&gt;background-image:url(images/bLeft.gif);&lt;br /&gt;background-position:bottom left;&lt;br /&gt;margin:0px; padding:0px;&lt;br /&gt;background-repeat:no-repeat;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is your final output:&lt;br /&gt;&lt;img hspace="3" src="http://www.designrific.com/images/full.gif" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-3403981198503812607?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/3403981198503812607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=3403981198503812607&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3403981198503812607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3403981198503812607'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/08/how-to-create-rounded-corner-box-using.html' title='How to create rounded corner box using CSS'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-5629666322689134241</id><published>2009-05-26T15:02:00.000+05:30</published><updated>2009-05-26T15:04:02.526+05:30</updated><title type='text'>Deploy your web applications</title><content type='html'>&lt;h2&gt;&lt;br /&gt;        Introduction&lt;/h2&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Several times we encounter a great and sophisticated web or desktop application&lt;br /&gt;        that does not poses it's appropriate market share just for the reason of poorly&lt;br /&gt;        written SETUP package and poorly designed deployment strategy. The fact is simple:&lt;br /&gt;        If your users are not able to easily deploy your application then whatever sophistication&lt;br /&gt;        or features you&amp;nbsp; provide, they will be unable to even experience your application&lt;br /&gt;        from the very first place!&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;div&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;!-- Begin: AdBrite, Generated: 2009-05-26 5:22:23  --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;script type="text/javascript"&gt;&lt;br /&gt;        var AdBrite_Title_Color = '0000FF';&lt;br /&gt;        var AdBrite_Text_Color = '000000';&lt;br /&gt;        var AdBrite_Background_Color = 'FFFFFF';&lt;br /&gt;        var AdBrite_Border_Color = 'CCCCCC';&lt;br /&gt;        var AdBrite_URL_Color = '008000';&lt;br /&gt;        try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}&lt;br /&gt;        &lt;/script&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="white-space: nowrap;"&gt;&lt;br /&gt;&lt;br /&gt;            &lt;script type="text/javascript"&gt;document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1188167&amp;zs=3436385f3630&amp;ifr='+AdBrite_Iframe+'&amp;ref='+AdBrite_Referrer+'" type="text/javascript"&gt;');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;            &lt;a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1188167&amp;afsid=1"&gt;&lt;br /&gt;                &lt;img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-banner.gif" style="background-color: #CCCCCC;&lt;br /&gt;                    border: none; padding: 0; margin: 0;" alt="Your Ad Here" width="11" height="60"&lt;br /&gt;                    border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;!-- End: AdBrite --&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/div&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        In this tutorial we are going to show you a set of techniques by which you can package&lt;br /&gt;        and deploy your web applications .....&lt;/p&gt;&lt;br /&gt;    &lt;h2 align="left"&gt;&lt;br /&gt;        Alternatives&lt;/h2&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        When it comes to web applications specifically, then you will encounter many techniques&lt;br /&gt;        that can be utilized as a deployment strategy for your web application:&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;h2 align="left"&gt;&lt;br /&gt;        XCOPY Deployment&lt;/h2&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        The most trivial technique is to simply copy your web application files to the production&lt;br /&gt;        server hard drive and set a virtual directory there. The setting of a virtual directory&lt;br /&gt;        is needed by several deployment schemes and can be achieved from Internet Information&lt;br /&gt;        Manager Microsoft Management Consol (MMC snap-in). Because developers typically&lt;br /&gt;        use the command line order 'XCOPY' to implement this technique, this technique is&lt;br /&gt;        typically referred to as XCOPY Deployment.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;h2&gt;&lt;br /&gt;        Copy Web Site&lt;/h2&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        &lt;em&gt;Copy Web Site &lt;/em&gt;is a new technique provided in ASP.NET 2.0 and Microsoft&lt;br /&gt;        Visual Studio 2005 (Available from the Website / Copy Web Site... Menu option).&lt;br /&gt;        Although this technique is performed from inside Visual Studio (in contrast with&lt;br /&gt;        the XCOPY deployment technique which is performed from outside Visual Studio), there&lt;br /&gt;        is no compilation performed at all. All your pages are still in their source code&lt;br /&gt;        form on the production server. Some developers see this fact as a high risk on their&lt;br /&gt;        intellectual property. Two extra disadvantages of this technique (and in fact any&lt;br /&gt;        other technique that does not involve any compilation before deployment) are reduced&lt;br /&gt;        error checking and the slow initial page load.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        The reduced error checking is a direct result to that no compilation is performed&lt;br /&gt;        and hence some errors may be discovered by your users later. The initial page load&lt;br /&gt;        slowness is also because nothing is compiled yet and the entire web application&lt;br /&gt;        has to be compiled at the time the first page is being requested. An advantage of&lt;br /&gt;        this technique over the XCOPY deployment is that you have the options to deploy&lt;br /&gt;        to the File System, the Local IIS, the FTP Sites, and the Remote Sites. Please see&lt;br /&gt;        figure 1.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;div&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;!-- Begin: AdBrite, Generated: 2009-05-26 5:22:23  --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;script type="text/javascript"&gt;&lt;br /&gt;        var AdBrite_Title_Color = '0000FF';&lt;br /&gt;        var AdBrite_Text_Color = '000000';&lt;br /&gt;        var AdBrite_Background_Color = 'FFFFFF';&lt;br /&gt;        var AdBrite_Border_Color = 'CCCCCC';&lt;br /&gt;        var AdBrite_URL_Color = '008000';&lt;br /&gt;        try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}&lt;br /&gt;        &lt;/script&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="white-space: nowrap;"&gt;&lt;br /&gt;&lt;br /&gt;            &lt;script type="text/javascript"&gt;document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1188167&amp;zs=3436385f3630&amp;ifr='+AdBrite_Iframe+'&amp;ref='+AdBrite_Referrer+'" type="text/javascript"&gt;');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;            &lt;a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1188167&amp;afsid=1"&gt;&lt;br /&gt;                &lt;img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-banner.gif" style="background-color: #CCCCCC;&lt;br /&gt;                    border: none; padding: 0; margin: 0;" alt="Your Ad Here" width="11" height="60"&lt;br /&gt;                    border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;!-- End: AdBrite --&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/div&gt;&lt;br /&gt;    &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;img height="455" src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-File-System.jpg"&lt;br /&gt;                        width="578" /&gt;&lt;br /&gt;                    &lt;br /&gt;&lt;br /&gt;                    Figure 1&lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;h2&gt;&lt;br /&gt;        Pre-compilation&lt;br /&gt;    &lt;/h2&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        All of the deployment methods we mentioned so far suffer from the fact of that no&lt;br /&gt;        compilation is performed along with the disadvantages that comes as a direct result&lt;br /&gt;        from this fact. To ensure fast page load and some protection of your source code,&lt;br /&gt;        you should pre-compile your web site before deployment.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Pre-compilation can be performed in-place by just adding '/Deployment/Precompile.axd'&lt;br /&gt;        to the root URL of your web application and opening the resulting URL in Internet&lt;br /&gt;        Explore.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Pre-compilation can also be achieved using the command line compiler 'aspnet_compiler'.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Using Microsoft Visual Studio 2005 you can still perform pre-compilation from the&lt;br /&gt;        'Build / Publish Web Site' menu command. Please see figure 2.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;img height="361" src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-Publish-Web-Site.jpg"&lt;br /&gt;                        width="549" /&gt;&lt;br /&gt;&lt;br /&gt;                    Figure 2&lt;br /&gt;                &lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;h2&gt;&lt;br /&gt;        SETUP Projects&lt;br /&gt;    &lt;/h2&gt;&lt;br /&gt;    &lt;div&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;!-- Begin: AdBrite, Generated: 2009-05-26 5:22:23  --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;script type="text/javascript"&gt;&lt;br /&gt;        var AdBrite_Title_Color = '0000FF';&lt;br /&gt;        var AdBrite_Text_Color = '000000';&lt;br /&gt;        var AdBrite_Background_Color = 'FFFFFF';&lt;br /&gt;        var AdBrite_Border_Color = 'CCCCCC';&lt;br /&gt;        var AdBrite_URL_Color = '008000';&lt;br /&gt;        try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}&lt;br /&gt;        &lt;/script&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="white-space: nowrap;"&gt;&lt;br /&gt;&lt;br /&gt;            &lt;script type="text/javascript"&gt;document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1188167&amp;zs=3436385f3630&amp;ifr='+AdBrite_Iframe+'&amp;ref='+AdBrite_Referrer+'" type="text/javascript"&gt;');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;            &lt;a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1188167&amp;afsid=1"&gt;&lt;br /&gt;                &lt;img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-banner.gif" style="background-color: #CCCCCC;&lt;br /&gt;                    border: none; padding: 0; margin: 0;" alt="Your Ad Here" width="11" height="60"&lt;br /&gt;                    border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;!-- End: AdBrite --&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/div&gt;&lt;br /&gt;    &lt;iframe frameborder="0" height="280" marginheight="0" marginwidth="0" scrolling="no"&lt;br /&gt;        src="http://www.beansoftware.com/ads/LQ-Rectangle.aspx" width="336"&gt;&lt;/iframe&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    It's always desirable to package your web applications such that they are easy to&lt;br /&gt;    deploy on the production server. Microsoft Visual Studio 2005 gives you this rich&lt;br /&gt;    packaging option for free ... Just follow the following instructions ...&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        First of all you need to know that our target is to create a package (and MSI file)&lt;br /&gt;        that contain our web application in a form that can be later easily deployed on&lt;br /&gt;        the final production server.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Let's start by selecting 'File / New / Project' in Microsoft Visual Studio 2005.&lt;br /&gt;        This will present you the famous set of possible project types from which you will&lt;br /&gt;        select 'Other Project Types / Setup and Deployment' then you will select the 'Web&lt;br /&gt;        Setup&amp;nbsp; Project' icon from the side to the right. See figure 3.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;img src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-New-Project.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;                    Figure 3&lt;br /&gt;                &lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        In figure 3, set the appropriate project name and folder options then click OK.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        You can always have the same behavior by adding the SETUP project above to your&lt;br /&gt;        web application solution instead of creating a new separate solution. You can achieve&lt;br /&gt;        this by selecting&amp;nbsp; 'File / Add / New Project' instead of 'File / New / Project'.&lt;br /&gt;        This way you will have a self contained web solution. The 'File / Add / New Project'&lt;br /&gt;        method is much more recommended.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        Your setup project will then open as in figure 4 below:&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;img height="336" src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-WebSetup.jpg"&lt;br /&gt;                        width="651" /&gt;&lt;br /&gt;&lt;br /&gt;                    Figure 4&lt;br /&gt;                &lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        You will then need to add your web application files to the SETUP project we are&lt;br /&gt;        developing now. This can be achieved by right clicking your SETUP project name in&lt;br /&gt;        solution explorer and selecting 'Add / Project Output'. Please see figure 5.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;img height="379" src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-Add-Project-Output.jpg"&lt;br /&gt;                        width="324" /&gt;&lt;br /&gt;&lt;br /&gt;                    Figure 5&lt;br /&gt;                &lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        To tune the properties of our SETUP project, we will need to press F4 while it's&lt;br /&gt;        name is selected in the solution explore. This will bring the SETUP project's properties&lt;br /&gt;        window. Several useful properties can be set in this window:&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;table border="1" bordercolor="#eaeaea" cellpadding="0" cellspacing="0" class="ArticleCodeSnippet"&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td align="middle" width="183"&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;strong&gt;Property&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td align="middle"&gt;&lt;br /&gt;                &lt;div align="center"&gt;&lt;br /&gt;                    &lt;strong&gt;Purpose &lt;/strong&gt;&lt;br /&gt;                &lt;/div&gt;&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td width="183"&gt;&lt;br /&gt;                Author, Description, Manufacturer, ManufacturerUrl, ProductName, Subject, Title,&lt;br /&gt;                and Version&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                Use all of these properties to identify / describe your application and yourself.&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td width="183"&gt;&lt;br /&gt;                AddRemoveProgramsIcon&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                Here you can specify the icon to be displayed beside your application in Windows&lt;br /&gt;                Control Panel's Add Remove Programs.&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td width="183"&gt;&lt;br /&gt;                DetectNewerInstalledVersion&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                Specify here whether or not a check is to be performed to determine the existence&lt;br /&gt;                of a new version already installed of your web application.&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td width="183"&gt;&lt;br /&gt;                RemovePreviousVersions&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                Specify here whether you need an older version of your web application to be removed&lt;br /&gt;                if a newer version is being installed.&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;        &lt;tr&gt;&lt;br /&gt;            &lt;td width="183"&gt;&lt;br /&gt;                RestartWWWService&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;            &lt;td&gt;&lt;br /&gt;                Some web applications requires the Internet Information Service to be stopped and&lt;br /&gt;                then restarted after the deployment of the application. Use this property to control&lt;br /&gt;                such behavior.&lt;br /&gt;            &lt;/td&gt;&lt;br /&gt;        &lt;/tr&gt;&lt;br /&gt;    &lt;/table&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        The last and most important step is to actually build our SETUP project. This cane&lt;br /&gt;        be achieved by right clicking the name of our SETUP project in the solution explorer.&lt;br /&gt;        It's this specific step that creates the MSI package / file mentioned above. This&lt;br /&gt;        is the file you will need to distribute to your users and this is the file they&lt;br /&gt;        will use to deploy the web application on their production server.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;p class="ArticleText"&gt;&lt;br /&gt;        It's worth mentioning that the actual deployment process will be some what similar&lt;br /&gt;        to the SETUP of any typical desktop application (with some exceptions of course).&lt;br /&gt;        One of the many similarities is that the web application after deployment will automatically&lt;br /&gt;        appear in the 'Add / Remove Programs' window of Windows Control Panel.&lt;br /&gt;    &lt;/p&gt;&lt;br /&gt;    &lt;div&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        &lt;!-- Begin: AdBrite, Generated: 2009-05-26 5:22:23  --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;script type="text/javascript"&gt;&lt;br /&gt;        var AdBrite_Title_Color = '0000FF';&lt;br /&gt;        var AdBrite_Text_Color = '000000';&lt;br /&gt;        var AdBrite_Background_Color = 'FFFFFF';&lt;br /&gt;        var AdBrite_Border_Color = 'CCCCCC';&lt;br /&gt;        var AdBrite_URL_Color = '008000';&lt;br /&gt;        try{var AdBrite_Iframe=window.top!=window.self?2:1;var AdBrite_Referrer=document.referrer==''?document.location:document.referrer;AdBrite_Referrer=encodeURIComponent(AdBrite_Referrer);}catch(e){var AdBrite_Iframe='';var AdBrite_Referrer='';}&lt;br /&gt;        &lt;/script&gt;&lt;br /&gt;&lt;br /&gt;        &lt;span style="white-space: nowrap;"&gt;&lt;br /&gt;&lt;br /&gt;            &lt;script type="text/javascript"&gt;document.write(String.fromCharCode(60,83,67,82,73,80,84));document.write(' src="http://ads.adbrite.com/mb/text_group.php?sid=1188167&amp;zs=3436385f3630&amp;ifr='+AdBrite_Iframe+'&amp;ref='+AdBrite_Referrer+'" type="text/javascript"&gt;');document.write(String.fromCharCode(60,47,83,67,82,73,80,84,62));&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;            &lt;a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=1188167&amp;afsid=1"&gt;&lt;br /&gt;                &lt;img src="http://files.adbrite.com/mb/images/adbrite-your-ad-here-banner.gif" style="background-color: #CCCCCC;&lt;br /&gt;                    border: none; padding: 0; margin: 0;" alt="Your Ad Here" width="11" height="60"&lt;br /&gt;                    border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;!-- End: AdBrite --&gt;&lt;br /&gt;&lt;br /&gt;        &lt;p class="ArticleText"&gt;&lt;br /&gt;            For your users to deploy your web application they will just need to double click&lt;br /&gt;            the MSI file. This will produce something similar to figure 6:&lt;br /&gt;        &lt;/p&gt;&lt;br /&gt;        &lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;            &lt;tr&gt;&lt;br /&gt;                &lt;td&gt;&lt;br /&gt;                    &lt;div align="center"&gt;&lt;br /&gt;                        &lt;img height="407" src="http://www.beansoftware.com/ASP.NET-Tutorials/Images/Packaging-Setup-Wizard.jpg"&lt;br /&gt;                            width="503" /&gt;&lt;br /&gt;&lt;br /&gt;                        Figure 6&lt;br /&gt;                    &lt;/div&gt;&lt;br /&gt;                &lt;/td&gt;&lt;br /&gt;            &lt;/tr&gt;&lt;br /&gt;        &lt;/table&gt;&lt;br /&gt;        &lt;h2&gt;&lt;br /&gt;            Protection and obfuscation of .NET executable files (.exe, .dll,...)&lt;/h2&gt;&lt;br /&gt;        &lt;p&gt;&lt;br /&gt;            You must know that every of your .NET products, web application or ASP.NET custom&lt;br /&gt;            control, can be easily decompiled. Practically every user can get your source code&lt;br /&gt;            by using some free .Net decompiler. If your license doesn't include source code&lt;br /&gt;            it is not enough to just exclude source code files from installation. You need additional&lt;br /&gt;            protection.&lt;/p&gt;&lt;br /&gt;        &lt;p&gt;&lt;br /&gt;            After long analyze, we decided to use &lt;a href="http://www.beansoftware.com/Visit/SpicesNet/"&lt;br /&gt;                rel="nofollow" target="_top"&gt;Spices.Net&lt;/a&gt; for protection of all products of&lt;br /&gt;            Bean Software. Even if you can't afford complete suite, consider at least their&lt;br /&gt;            Obfuscator. Later, I discovered &lt;a href="http://www.beansoftware.com/Visit/NetReactor/"&lt;br /&gt;                rel="nofollow"&gt;.NET Reactor&lt;/a&gt; which also looks good and it is about ten times&lt;br /&gt;            cheaper :). You can check Product Comparison link on NetReactor site where it is&lt;br /&gt;            compared to some other products, it looks really impressive, and not only in price&lt;br /&gt;            issue.&lt;/p&gt;&lt;br /&gt;        &lt;h2&gt;&lt;br /&gt;            For further information&lt;br /&gt;        &lt;/h2&gt;&lt;br /&gt;        &lt;p class="ArticleText"&gt;&lt;br /&gt;            Refer to the online copy of Microsoft Developers Network at &lt;a href="http://msdn.microsoft.com/"&gt;&lt;br /&gt;                http://msdn.microsoft.com &lt;/a&gt;or use your own local copy of MSDN.&lt;br /&gt;        &lt;/p&gt;&lt;br /&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-5629666322689134241?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/5629666322689134241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=5629666322689134241&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5629666322689134241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5629666322689134241'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/05/deploy-your-web-applications.html' title='Deploy your web applications'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-7553459280338880195</id><published>2009-05-26T12:56:00.002+05:30</published><updated>2009-05-26T13:00:15.278+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Help'/><title type='text'>Writing an ActiveX control in C#</title><content type='html'>&lt;h2&gt;&lt;span id="ctl00_ArticleInfo1_articletitle"&gt;&lt;/span&gt; &lt;/h2&gt;&lt;p&gt;Published: &lt;span id="ctl00_ArticleInfo1_pubdate"&gt;20 Apr 2007&lt;/span&gt;&lt;br /&gt;By: &lt;span id="ctl00_ArticleInfo1_author"&gt;Imran Nathani&lt;/span&gt; &lt;span id="ctl00_ArticleInfo1_download"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span id="ctl00_ArticleInfo1_desc"&gt;An ActiveX control is an object that supports a customizable programmatic interface. Using the methods, events and properties exposed by the control, web developers can automate their web pages to give the functionality which is equivalent to that of a desktop application.&lt;/span&gt;&lt;/p&gt;&lt;div class="KonaBody"&gt;&lt;h3&gt;Introduction&lt;/h3&gt;&lt;p&gt;As web application developers, we want to give our users a highly functional application. We want to provide our users with functionality like printing streams, local socket programming ,local threading, cross domain scripting etc., but as we know that due to the disconnected architecture of the Internet and security restrictions of any standard browser, this task becomes difficult. That's when the &lt;code&gt;ActiveX&lt;/code&gt; comes to the rescue. This is mostly for web applications where the users would not be apprehensive about doing a one time installation of the component. Also, in an intranet application these components can be a big boost to the functionality of the application. &lt;/p&gt;&lt;h3&gt;Writing ActiveX Class in C#&lt;/h3&gt;&lt;p&gt;We will first write an interface called &lt;code&gt;ASignatures&lt;/code&gt; which holds the signatures of the methods and properties. These methods and properties can then be accessed via JavaScript at the browser level. By default all members of an &lt;code&gt;interface&lt;/code&gt; are &lt;code&gt;abstract&lt;/code&gt; and &lt;code&gt;public&lt;/code&gt;. The main &lt;code&gt;ActiveX&lt;/code&gt; class &lt;code&gt;AClass&lt;/code&gt; will inherit from this &lt;code&gt;interface&lt;/code&gt;. Above the main &lt;code&gt;ActiveX&lt;/code&gt; class we will mention the &lt;code&gt;ClassInterfaceType&lt;/code&gt; as &lt;code&gt;AutoDual&lt;/code&gt;. This will indicate the type of the &lt;code&gt;interface&lt;/code&gt; generated for the main class which will automatically be generated and exposed to the &lt;code&gt;COM&lt;/code&gt;. Normally &lt;code&gt;AutoDual&lt;/code&gt; is not recommended because it has some versioning limitations. We will use the &lt;code&gt;ClassIntrefaceType&lt;/code&gt; as &lt;code&gt;AutoDual&lt;/code&gt; because the purpose of this code is instructional. In the main class we will write two methods &lt;code&gt;FName()&lt;/code&gt;, and &lt;code&gt;SName()&lt;/code&gt; and one property &lt;code&gt;Age&lt;/code&gt;. In our example we will return the basic &lt;code&gt;datatypes&lt;/code&gt; but this can be implemented for complex &lt;code&gt;datatypes&lt;/code&gt; too. &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using System;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;namespace ANamespace&lt;br /&gt;{&lt;br /&gt;public interface ASignatures&lt;br /&gt;{&lt;br /&gt;string FName();&lt;br /&gt;string SName();&lt;br /&gt;int Age { get;}&lt;br /&gt;}&lt;br /&gt;[ClassInterface(ClassInterfaceType.AutoDual)]&lt;br /&gt;public class AClass :ASignatures&lt;br /&gt;{&lt;br /&gt;public string FName()&lt;br /&gt;{&lt;br /&gt;return "Imran";&lt;br /&gt;}&lt;br /&gt;public string SName()&lt;br /&gt;{&lt;br /&gt;return "Nathani";&lt;br /&gt;}&lt;br /&gt;public int Age&lt;br /&gt;{&lt;br /&gt;get { return 24; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;h3&gt;Compiling the ActiveX control&lt;/h3&gt;&lt;p&gt;For those who do not know how to compile out of Visual Studio IDE, you need to search for the &lt;code&gt;c#&lt;/code&gt; compiler&lt;code&gt;csc.exe&lt;/code&gt; in the folder:&lt;/p&gt;&lt;em&gt;\WINDOWS\Microsoft.NET\Framework\v2.0.xxxxx&lt;/em&gt; &lt;p&gt;Place your AClass.cs file in the folder where the csc.exe exists. Then by command (DOS) interface go to that particular folder and execute the following command: &lt;/p&gt;&lt;pre class="dos"&gt;csc /t:library AClass.cs&lt;/pre&gt;&lt;h3&gt;Registering the Assembly with the client&lt;/h3&gt;&lt;p&gt;You can register the assembly in multiple ways of implementation and it mostly depends on the target users. For example, creating a setup file for download or having a self extractor file which could prompt in the browser, depends totally on the functionality requirement. However for our example we would register the assembly by using the command prompt which is the easiest and could be done by a batch file too. Therefore, in same folder as above immediately after the compilation step we execute the following command: &lt;/p&gt;&lt;pre class="dos"&gt;regasm AClass.dll /tlb /codebase&lt;/pre&gt;&lt;p&gt;Also we must note that the .NET Framework needs to be installed on the client for registration and working.&lt;/p&gt;&lt;h3&gt;Using the ActiveX control&lt;/h3&gt;&lt;p&gt;We can then access our newly created &lt;code&gt;ActiveX&lt;/code&gt; control via JavaScript. We will simply display the data returned by the methods and property in alert boxes. The below code demonstrates how we can access the properties in the &lt;code&gt;ActiveX&lt;/code&gt; control. &lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;html&gt;&lt;br /&gt;&lt;head&gt;&lt;br /&gt;&lt;script language="javascript"&gt;&lt;br /&gt;&lt;!-- Load the ActiveX object --&gt;&lt;br /&gt;var x = new ActiveXObject("ANamespace.AClass");&lt;br /&gt;&lt;!-- Access the Method --&gt;&lt;br /&gt;alert(x.FName());&lt;br /&gt;alert(x.SName());&lt;br /&gt;&lt;!-- Access the Property --&gt;&lt;br /&gt;alert(x.Age);&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/head&gt;&lt;br /&gt;&lt;body&gt;&lt;br /&gt;&lt;/body&gt;&lt;br /&gt;&lt;/html&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;This will work like a charm in Internet Explorer but may need an API plugin for other browsers like FireFox or Safari.&lt;/p&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;In this article you have seen how we can increase the functionality of our web application by implementation of &lt;code&gt;ActiveX&lt;/code&gt; controls in &lt;code&gt;C#&lt;/code&gt;. The practical applications of &lt;code&gt;ActiveX&lt;/code&gt; are limitless especially for graphics and multimedia. &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-7553459280338880195?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/7553459280338880195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=7553459280338880195&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7553459280338880195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7553459280338880195'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/05/writing-activex-control-in-c.html' title='Writing an ActiveX control in C#'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-5544838428072979827</id><published>2009-05-26T12:44:00.001+05:30</published><updated>2009-05-26T12:56:59.636+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Help'/><title type='text'>Writing an ActiveX Control in .NET</title><content type='html'>&lt;div&gt;&lt;span id="ctl00_ContentPlaceHolder1_ArticleHeader1_LabelHeading" style="DISPLAY: inline-block; WIDTH: 100%"&gt;&lt;font face="courier new,monospace" size="4"&gt;&lt;strong&gt;Writing an ActiveX Control in .NET&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="courier new,monospace" size="4"&gt;&lt;strong&gt; &lt;br&gt;  &lt;/strong&gt;&lt;/font&gt;&lt;span class="ArticleDate"&gt;By  &lt;span class="AuthorName"&gt;David Sandor &lt;/span&gt;&lt;span id="ctl00_ContentPlaceHolder1_ArticleHeader1_LabelDate"&gt;March 12, 2003&lt;/span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;br&gt; &lt;/div&gt; &lt;div align="justify"&gt;&lt;span class="FontSize8pt" id="ctl00_ContentPlaceHolder1_ArticleHeader1_LabelDescription" style="DISPLAY: inline-block; WIDTH: 90%"&gt;In this example, I will walk you through creating an ActiveX control that will show a simple user interface and accept input from a web page. &lt;/span&gt;&lt;/div&gt;   &lt;div align="justify"&gt; &lt;/div&gt; &lt;div align="justify"&gt;&lt;strong&gt;Technologies:&lt;/strong&gt; &lt;span id="ctl00_ContentPlaceHolder1_ArticleHeader1_LabelTechnologies"&gt;.NET 1.0/1.1,Visual C# .NET&lt;/span&gt;&lt;/div&gt; &lt;div align="justify"&gt;&lt;span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div align="justify"&gt;&lt;span&gt; &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Software developers have used ActiveX controls on their web pages to add advanced functionality to the web experience. With my migration from a Visual Basic 6 world to a Microsoft .NET C# world, I had some question as to how I can create an ActiveX control with .NET. After some research I found out that the solution is really quite simple. Create a Windows control project in Visual Studio .NET and expose an interface to the COM world.&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;In this example, I will walk you through creating an ActiveX control that will show a simple user interface and accept input from a web page. This process will involve the following steps:&lt;/font&gt;&lt;/p&gt;  &lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt; &lt;ol&gt; &lt;li&gt;Create an assembly (class library project) that contains an item of type User Control.  &lt;li&gt;Expose an interface for the control.  &lt;li&gt;Embed the user control into a web page.  &lt;li&gt;Transfer data from a web form to the control and display the data on the control.&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;strong&gt;Step 1: Create an assembly.&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;You can use the example provided for download, or simply create your own project from scratch. In this section I will outline everything you need to do in order to properly create your assembly.&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;First, you create a new project of type Class Library. Name the class library ActiveXDotNet.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img alt="" hspace="0" src="http://www.c-sharpcorner.com/UploadFile/dsandor/ActiveXInNet11102005040748AM/Images/ActiveXImg11.gif" align="baseline" border="0"&gt;&lt;br&gt;  &lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;br&gt;Once the project is created, delete the Class1.cs file from your project as it will not be necessary. Next, add a User Control to the project by right clicking on the project in your solution explorer, choose Add, then User Control. Name your user control myControl.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;   &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;br&gt;&lt;br&gt;&lt;img alt="" hspace="0" src="http://www.c-sharpcorner.com/UploadFile/dsandor/ActiveXInNet11102005040748AM/Images/ActiveXImg2.gif" align="baseline" border="0"&gt;&lt;br&gt;  &lt;br&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;On the user control, add some UI elements, and a text box control named txtUserText. The txtUserText control will display the user data that is typed into the web form. This will demonstrate how to pass data to your User Control. &lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;When you are done adding your user interface to the control we now have to add a key element to the control, an Interface. The interface will allow COM/COM+ objects to know what properties they can use. In this case, we are going to expose one public property named UserText. That property will allow us to set the value of the text box control.&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;strong&gt;Step 2: Expose the Interface for the control.&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;First, create a private String to hold the data passed from the web form to the control:&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;private String mStr_UserText;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Place this String just inside the Class myControl.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Next, we will create a public property. The web page will use this property to pass text back to your control. This property will allow reading and writing of the value mStr_UserText. &lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; String UserText&lt;br&gt;{&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; mStr_UserText; }&lt;br&gt;  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;br&gt;&lt;/font&gt;&lt;font size="2"&gt;{ &lt;br&gt;mStr_UserText = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;font size="2"&gt;; &lt;br&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//Update the text box control value also.&lt;br&gt;  &lt;/font&gt;&lt;font size="2"&gt;txtUserText.Text = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;font size="2"&gt;;&lt;br&gt;}&lt;br&gt;} &lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;In this example, you will note the extra code in the set section of the public property. When a value is passed from the web form to the control we will set the private String value equal to the value passed to the property. In addition, we are simply going to modify the value of the Text Box control directly. Typically you would NOT do this. Instead, you would raise an event and then validate the data being passed by examining the private variable mStr_UserText. Then you would set the value of the Text Box Control. However, that would add significant code to this example and for simplicity sake I am omitting that security precaution.&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Now that you have a public property that .NET assemblies can use, you need to make that property available to the COM world. We do this by creating an Interface and making the myControl class inherit the interface. This will allow COM objects to see what properties we have made available.&lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Your code will now look like this:&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font color="#0000ff" size="2"&gt;namespace&lt;/font&gt;&lt;font size="2"&gt; ActiveXDotNet&lt;br&gt;  {&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;interface&lt;/font&gt;&lt;font size="2"&gt; AxMyControl &lt;br&gt;{&lt;br&gt;String UserText { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;/font&gt;&lt;font size="2"&gt;; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;font size="2"&gt; ; }&lt;br&gt;  } &lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;class&lt;/font&gt;&lt;font size="2"&gt; myControl : System.Windows.Forms.UserControl, AxMyControl&lt;br&gt;{ &lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;private&lt;/font&gt;&lt;font size="2"&gt; String mStr_UserText;&lt;br&gt;  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;public&lt;/font&gt;&lt;font size="2"&gt; String UserText&lt;br&gt;{&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;get&lt;/font&gt;&lt;font size="2"&gt; { &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;font size="2"&gt; mStr_UserText; }&lt;br&gt;  &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;set&lt;br&gt;&lt;/font&gt;&lt;font size="2"&gt;{ &lt;br&gt;mStr_UserText = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;font size="2"&gt;; &lt;br&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;//Update the text box control value also.&lt;br&gt;  &lt;/font&gt;&lt;font size="2"&gt;txtUserText.Text = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;value&lt;/font&gt;&lt;font size="2"&gt;;&lt;br&gt;}&lt;br&gt;}&lt;br&gt;...&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;Notice that we now have an interface defined, the interface tells COM/COM+ that there is a public property available for use that is of type String and is readable (get) and writeable (set). All we do now is have the Class myControl inherit the interface and viola! We have a .NET assembly that acts like an ActiveX Control. &lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;strong&gt;Step 3: Embed the user control in a web page.&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;The last thing we do now is use the control in an example web page. &lt;/font&gt;&lt;/p&gt;   &lt;p&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&amp;lt;html&amp;gt;&lt;br&gt; &amp;lt;body color=white&amp;gt;&lt;br&gt;  &amp;lt;hr&amp;gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;      &amp;lt;font face=arial size=1&amp;gt;&lt;br&gt;       &amp;lt;OBJECT id=&amp;quot;myControl1&amp;quot; name=&amp;quot;myControl1&amp;quot; classid=&amp;quot;ActiveXDotNet.dll#ActiveXDotNet.myControl&amp;quot; width=288 height=72&amp;gt;&lt;br&gt;         &amp;lt;/OBJECT&amp;gt;&lt;br&gt;     &amp;lt;/font&amp;gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;     &amp;lt;form name=&amp;quot;frm&amp;quot; id=&amp;quot;frm&amp;quot;&amp;gt;&lt;br&gt;       &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;txt&amp;quot; value=&amp;quot;enter text here&amp;quot;&amp;gt;&amp;lt;input type=button value=&amp;quot;Click me&amp;quot; onClick=&amp;quot;doScript();&amp;quot;&amp;gt;&lt;br&gt;        &amp;lt;/form&amp;gt;&lt;br&gt;  &amp;lt;hr&amp;gt;&lt;br&gt; &amp;lt;/body&amp;gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br&gt;      function doScript()&lt;br&gt;       {&lt;br&gt;        myControl1.UserText = frm.txt.value;&lt;br&gt;         }&lt;br&gt;&amp;lt;/script&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;You will notice in the HTML code above, that you call your .NET assembly very similar to an ActiveX control; however there is no GUID, and no .OCX file. Your CLASSID is now the path to your DLL and the Namespace.Classname identifier. Refer to the code above to understand the syntax of the CLASSID object tag property. Place the HTML file and your DLL in the same directory on your web server and navigate to the HTML document. (Do not load the HTML document by double clicking on it, navigate to it in your browser by using the Fully Qualified URL.) *NOTE: You might need to add your web server to your Trusted Sites list in your Internet Explorer browser. &lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;strong&gt;Step 4: Transfer data from the web form to the user control.&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;When you load the HTML page, your control should load into the page and you will see a web form with a text box and a button. In this example, if you type some text into the text box and click the button, it will use JavaScript to send the text from the web page form, to the User Control that you just built. Your User Control will then display the text in the Text Box control that I on the form. &lt;br&gt;  &lt;br&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;strong&gt;Where do I go from here?&lt;br&gt;&lt;br&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;There are many issues that you should investigate in order to properly create User Controls that work on a web page. .NET Security plays a big part in what you can actually do within the confines of your code. You should also investigate code signing your control.&lt;/font&gt;&lt;/p&gt;   &lt;p&gt;&lt;br&gt; &lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-5544838428072979827?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/5544838428072979827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=5544838428072979827&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5544838428072979827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/5544838428072979827'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2009/05/writing-activex-control-in-net.html' title='Writing an ActiveX Control in .NET'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-8088478929189897149</id><published>2008-03-04T11:34:00.000+05:30</published><updated>2008-03-04T11:36:26.145+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMS India'/><title type='text'>sweet SSMS</title><content type='html'>Kitni jaldi ye mulakat guzar jati hai, payas bujhti nahi barsat guzar jati hai,apni yadon se kehdo is tarah na aaya kare ,need aati nahi our raat guzar jati hai&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I was alone I miss u most !&lt;br /&gt;When I stay with others , I knew the value of u !&lt;br /&gt;When U R with me I like to miss this whole world ……..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SOME SAY-love is a dynamic complexity of matters&lt;br /&gt;" "- love is laughing with others not at them&lt;br /&gt;" "-some say love is a disease ,then if it's SO I AM AT THE LAST STAGE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I was alone I miss u most !&lt;br /&gt;When I stay with others , I knew the value of u !&lt;br /&gt;When U R with me I like to miss this whole world ……..&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-8088478929189897149?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/8088478929189897149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=8088478929189897149&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/8088478929189897149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/8088478929189897149'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2008/03/sweet-ssms.html' title='sweet SSMS'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-3970306017722779548</id><published>2008-03-04T11:33:00.000+05:30</published><updated>2008-03-04T11:34:21.283+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMS India'/><title type='text'>sweet SMS</title><content type='html'>1. Measured by miles,&lt;br /&gt;U r far from me ....&lt;br /&gt;Measures by thoughts&lt;br /&gt;U r closer to me...&lt;br /&gt;Measured by closed eyes&lt;br /&gt;U r with me ....&lt;br /&gt;Measured by heart&lt;br /&gt;U r in me......&lt;br /&gt;&lt;br /&gt;2. The height of pain in life is to sit near the person&lt;br /&gt;u love d most .....&lt;br /&gt;knowing that the person can neve b urs ...!!!!!&lt;br /&gt;&lt;br /&gt;3. Never ask for a SMILE.....&lt;br /&gt;JUST GIVE IT !&lt;br /&gt;Never expect love from others ...&lt;br /&gt;JUST LOVE THEM!&lt;br /&gt;Never say I can't leav without u ...&lt;br /&gt;JUST SAY I LIVE FOR U !!!!!!!!!!&lt;br /&gt;&lt;br /&gt;4. Never try alone to take the weights of tear&lt;br /&gt;that comes out of ur heart &amp;&lt;br /&gt;falls through ur eyes ……..&lt;br /&gt;ALWAYS REMEMBER A FRIEND IS HERE TO SHARE…..!&lt;br /&gt;&lt;br /&gt;5. A Wonderful saying ….&lt;br /&gt;"Trying to forget someone you love is like&lt;br /&gt;Trying to remember someone u've never met ..!!!" &lt;br /&gt;&lt;br /&gt;6. When I was alone I miss u most !&lt;br /&gt;When I stay with others , I knew the value of u !&lt;br /&gt;When U R with me I like to miss this whole world …….. &lt;br /&gt;&lt;br /&gt;7. Hundred words does not give pain…..&lt;br /&gt;But&lt;br /&gt;A true friend s silence makes more tears in heart ……&lt;br /&gt;So always keep in touch my FRIEND………….&lt;br /&gt;&lt;br /&gt;8. Liking U is my nature ,&lt;br /&gt;Missing U is my disappointment …..&lt;br /&gt;Fighting with U is my Time pass…&lt;br /&gt;Forgetting U is never in my life time …..&lt;br /&gt;&lt;br /&gt;9. I Hide my tears when I say ur name&lt;br /&gt;But&lt;br /&gt;The pain in my heart is still the same&lt;br /&gt;Altho&lt;br /&gt;I smile and seem carefree,&lt;br /&gt;There 's No one who misses u More than me …!!! &lt;br /&gt;&lt;br /&gt;10. Never Ignore a person who&lt;br /&gt;Luvs u&lt;br /&gt;Cares 4 u &amp;&lt;br /&gt;Misses U&lt;br /&gt;Bcoz&lt;br /&gt;One day u may wake up frm ur sleep&lt;br /&gt;And realize that u've lost the moon while counting stars ……..!!!!&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-3970306017722779548?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/3970306017722779548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=3970306017722779548&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3970306017722779548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3970306017722779548'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2008/03/sweet-sms.html' title='sweet SMS'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-2389124783964270565</id><published>2008-03-04T11:22:00.000+05:30</published><updated>2008-03-04T11:23:46.287+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cell Fon'/><title type='text'>Sony Ericsson Secret Codes</title><content type='html'>To get Sony Ericsson Secret Menu:&lt;br /&gt;-&gt; * &lt;- &lt;- * &lt;- *&lt;br /&gt;(-&gt; means press joystick, arrow keys or jogdial to the right and &lt;- means left.)&lt;br /&gt;You'll see phone model, software info, IMEI, configuration info, sim lock status, REAL time clock, total call time and text labels.&lt;br /&gt;You can also test your phones services and hardware from this menu (main display, camera, LED/illumination, Flash LED, keyboard, earphone, speaker, microphone, radio and vibrator tests)&lt;br /&gt;&lt;br /&gt;IMEI Number: *#06#&lt;br /&gt;Lockstatus: &lt;- * * &lt;-&lt;br /&gt;Shortcut to last dialed numbers: 0#&lt;br /&gt;Shortcut to sim numbers: On main menu type a number and press #&lt;br /&gt;&lt;br /&gt;If you change the language from default to any other language, then it may be difficult to switch to default language. The shortcut is very simple. Older Ericssons *#0000# &amp; Newer Ericssons &lt;0000&gt; &amp; Also, pressing &lt;8888&gt; on the newer Ericssons changes the language to Automatic. &lt; stands for left arrow button or joystick and &gt; stands for right arrow button or joystick.&lt;br /&gt;&lt;br /&gt;Copy &amp; Paste when using phonebook:&lt;br /&gt;Go into "Edit contact", and select the Contact&lt;br /&gt;Scroll down to the number you want to cut and paste.&lt;br /&gt;Without selecting it (ie without clicking on the joystick or the yes button) press and hold the * key, and then press the 1 key. When you release both keys, the highlighted number should disappear&lt;br /&gt;Now move to the appropriate entry (eg the "Mob" entry) and press and hold the * key, then press the 3 key. When you release both, the number is pasted into this entry. (1 for cut, 2 for copy and 3 for paste)&lt;br /&gt;&lt;br /&gt;If you've cleared your call list you can easily find unsaved dialed no:&lt;br /&gt;Go to Message then Write New &amp; Press yes. Click on Continue. In the menu to let you key in the number to send msg, press the right up key for more menu &amp; you go to the following list.&lt;br /&gt;Phone book, Groups, Sim entries and Unsaved nos.&lt;br /&gt;Select Unsaved nos, there you will see last 10 unsaved number.&lt;br /&gt;Those numbers can't be erased even you clear your entire call list.&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-2389124783964270565?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gleez.com/articles/information/sony-ericsson-secret-codes' title='Sony Ericsson Secret Codes'/><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/2389124783964270565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=2389124783964270565&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/2389124783964270565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/2389124783964270565'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2008/03/sony-ericsson-secret-codes.html' title='Sony Ericsson Secret Codes'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-8152381374272872543</id><published>2008-02-06T16:38:00.000+05:30</published><updated>2008-02-06T16:40:58.360+05:30</updated><title type='text'>Nokia Code</title><content type='html'>*#06# for checking the IMEI (International Mobile Equipment Identity).&lt;br /&gt;&lt;br /&gt;*#7780# reset to factory settings.&lt;br /&gt;&lt;br /&gt;*#67705646# This will clear the LCD display(operator logo).&lt;br /&gt;&lt;br /&gt;*#0000# To view software version.&lt;br /&gt;&lt;br /&gt;*#2820# Bluetooth device address.&lt;br /&gt;&lt;br /&gt;*#746025625# Sim clock allowed status.&lt;br /&gt;&lt;br /&gt;#pw+1234567890+1# Shows if sim have restrictions.&lt;br /&gt;&lt;br /&gt;*#92702689# - takes you to a secret menu where you may find some of the information below:&lt;br /&gt;&lt;br /&gt;1. Displays Serial Number.&lt;br /&gt;2. Displays the Month and Year of Manufacture&lt;br /&gt;3. Displays (if there) the date where the phone was purchased (MMYY)&lt;br /&gt;4. Displays the date of the last repair - if found (0000)&lt;br /&gt;5. Shows life timer of phone (time passes since last start)&lt;br /&gt;&lt;br /&gt;*#3370# - Enhanced Full Rate Codec (EFR) activation. Increase signal strength, better signal reception. It also help if u want to use GPRS and the service is not responding or too slow. Phone battery will drain faster though.&lt;br /&gt;&lt;br /&gt;*#3370* - (EFR) deactivation. Phone will automatically restart. Increase battery life by 30% because phone receives less signal from network.&lt;br /&gt;&lt;br /&gt;*#4720# - Half Rate Codec activation.&lt;br /&gt;&lt;br /&gt;*#4720* - Half Rate Codec deactivation. The phone will automatically restart&lt;br /&gt;If you forgot wallet code for Nokia S60 phone, use this code reset: *#7370925538#&lt;br /&gt;Note, your data in the wallet will be erased. Phone will ask you the lock code. Default lock code is: 12345&lt;br /&gt;&lt;br /&gt;Press *#3925538# to delete the contents and code of wallet.&lt;br /&gt;&lt;br /&gt;Unlock service provider: Insert sim, turn phone on and press vol up(arrow keys) for 3 seconds, should say pin code. Press C,then press * message should flash, press * again and 04*pin*pin*pin# \&lt;br /&gt;&lt;br /&gt;*#7328748263373738# resets security code.&lt;br /&gt;Default security code is 12345&lt;br /&gt;Change closed caller group (settings &gt;security settings&gt;user groups) to 00000 and ure phone will sound the message tone when you are near a radar speed trap. Setting it to 500 will cause your phone 2 set off security alarms at shop exits, gr8 for practical jokes! (works with some of the Nokia phones.) Press and hold "0" on the main screen to open wap browser.&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-8152381374272872543?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/8152381374272872543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=8152381374272872543&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/8152381374272872543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/8152381374272872543'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2008/02/nokia-code.html' title='Nokia Code'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-7693909987125065280</id><published>2007-11-23T18:10:00.001+05:30</published><updated>2007-11-23T18:30:42.074+05:30</updated><title type='text'>Game List</title><content type='html'>&lt;form&gt;&lt;br /&gt;&lt;h1 class="innertube"&gt;Game List&lt;/h1&gt;&lt;div class="innertube"&gt;&lt;br /&gt;1. &lt;a  target="_blank" href="http://gamedeepjain1290.googlecode.com/files/Index.htm"&gt;Pong 2&lt;/a&gt;&lt;br /&gt;2. &lt;a  target="_blank"  href="http://gamedeepjain1290.googlecode.com/files/Snake.htm"&gt;Snake&lt;/a&gt;&lt;br /&gt;3. &lt;a  target="_blank" href="http://gamedeepjain1290.googlecode.com/files/tictac.htm"&gt;Tic Tac Toe&lt;/a&gt;&lt;br /&gt;4. &lt;a  target="_blank" href="http://gamedeepjain1290.googlecode.com/files/tower.htm"&gt;Tower&lt;/a&gt; &lt;/div&gt;&lt;div class="innertube"&gt;&lt;/div&gt;&lt;div class="innertube"&gt;&lt;br /&gt;&lt;br /&gt;All games here are&lt;br /&gt;powered by : &lt;a href="http://www.dynamicdrive.com/"&gt;DynamicDrive&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/div&gt;&lt;/form&gt;&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-7693909987125065280?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gamedeepjain1290.googlecode.com/files/GameList.html' title='Game List'/><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/7693909987125065280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=7693909987125065280&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7693909987125065280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/7693909987125065280'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2007/11/body-margin-0-padding-0-border-0.html' title='Game List'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-3484849434834986871</id><published>2007-08-28T11:07:00.000+05:30</published><updated>2007-08-28T11:13:16.585+05:30</updated><title type='text'>Benefits of Replication</title><content type='html'>Replication offers various benefits depending on the type of replication and the options you choose, but the common benefit of SQL Server 2000 replication is the availability of data when and where it is needed. &lt;br /&gt;&lt;br /&gt;Other benefits include: &lt;br /&gt;&lt;br /&gt;Allowing multiple sites to keep copies of the same data. This is useful when multiple sites need to read the same data or need separate servers for reporting applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Separating OLTP applications from read-intensive applications such as online analytical processing (OLAP) databases, data marts, or data warehouses.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Allowing greater autonomy. Users can work with copies of data while disconnected and then propagate changes they make to other databases when they are connected. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Scale out of data to be browsed, such as browsing data using Web-based applications. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Increasing aggregate read performance. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bringing data closer to individuals or groups. This helps to reduce conflicts based on multiple user data modifications and queries because data can be distributed throughout the network, and you can partition data based on the needs of different business units or users.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Using replication as part of a customized standby server strategy. Replication is one choice for standby server strategy. Other choices in SQL Server 2000 include log shipping and failover clustering, which provide copies of data in case of server failure.&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-3484849434834986871?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/3484849434834986871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=3484849434834986871&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3484849434834986871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/3484849434834986871'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2007/08/benefits-of-replication.html' title='Benefits of Replication'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-4204817463460060928</id><published>2007-08-27T10:59:00.000+05:30</published><updated>2007-08-27T11:36:56.745+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='C# Help'/><title type='text'>How to use WinControl in ASP.Net</title><content type='html'>//Create Windows User Control with this Code//&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.ComponentModel;&lt;br /&gt;using System.Drawing;&lt;br /&gt;using System.Data;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;namespace BEST&lt;br /&gt;{&lt;br /&gt;public partial class Main : UserControl&lt;br /&gt;{&lt;br /&gt;string _Title = "";&lt;br /&gt;public Main()&lt;br /&gt;{&lt;br /&gt;InitializeComponent();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;MessageBox.Show(this.Title, "Msg", MessageBoxButtons.OK, MessageBoxIcon.Information);&lt;br /&gt;}&lt;br /&gt;public string Title&lt;br /&gt;{&lt;br /&gt;get { return _Title; }&lt;br /&gt;set { _Title = value; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Designer Code//*************************************************&lt;br /&gt;&lt;br /&gt;namespace BEST&lt;br /&gt;{&lt;br /&gt;partial class Main&lt;br /&gt;{&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Required designer variable.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;private System.ComponentModel.IContainer components = null;&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Clean up any resources being used.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;/// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise, false.&lt;/param&gt;&lt;br /&gt;protected override void Dispose(bool disposing)&lt;br /&gt;{&lt;br /&gt;if (disposing &amp;&amp;amp; (components != null))&lt;br /&gt;{&lt;br /&gt;components.Dispose();&lt;br /&gt;}&lt;br /&gt;base.Dispose(disposing);&lt;br /&gt;}&lt;br /&gt;#region Component Designer generated code&lt;br /&gt;/// &lt;summary&gt;&lt;br /&gt;/// Required method for Designer support - do not modify&lt;br /&gt;/// the contents of this method with the code editor.&lt;br /&gt;/// &lt;/summary&gt;&lt;br /&gt;private void InitializeComponent()&lt;br /&gt;{&lt;br /&gt;this.test = new System.Windows.Forms.Button();&lt;br /&gt;this.SuspendLayout();&lt;br /&gt;//&lt;br /&gt;// test&lt;br /&gt;//&lt;br /&gt;this.test.Location = new System.Drawing.Point(64, 65);&lt;br /&gt;this.test.Name = "test";&lt;br /&gt;this.test.Size = new System.Drawing.Size(75, 23);&lt;br /&gt;this.test.TabIndex = 0;&lt;br /&gt;this.test.Text = "button1";&lt;br /&gt;this.test.UseVisualStyleBackColor = true;&lt;br /&gt;this.test.Click += new System.EventHandler(this.button1_Click);&lt;br /&gt;//&lt;br /&gt;// Main&lt;br /&gt;//&lt;br /&gt;this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;this.Controls.Add(this.test);&lt;br /&gt;this.Name = "Main";&lt;br /&gt;this.Size = new System.Drawing.Size(206, 132);&lt;br /&gt;this.Load += new System.EventHandler(this.UserControl1_Load);&lt;br /&gt;this.Click += new System.EventHandler(this.Main_Click);&lt;br /&gt;this.Paint += new System.Windows.Forms.PaintEventHandler(this.Main_Paint);&lt;br /&gt;this.ResumeLayout(false);&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;private System.Windows.Forms.Button test;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Add below code under body tag of Your web page//&lt;br /&gt;&lt;br /&gt;//Remember in the classid section after # is Namespace and your control name is the case sensative//&lt;br /&gt;&lt;br /&gt;        &amp;lt;object classid="BEST.dll#BEST.Main" style="width: 352px; height: 224px"&amp;gt;&lt;br /&gt;        &amp;lt;param name="Title" value="Deepak Jain" /&amp;gt;&lt;br /&gt;        &amp;lt;/object&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//Also you can use this object in any td of page table and alsoe param is the parameter that send from your page//&lt;br /&gt;&lt;br /&gt;//Also you can use this&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-4204817463460060928?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/4204817463460060928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=4204817463460060928&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4204817463460060928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/4204817463460060928'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2007/08/how-to-use-wincontrol-in-aspnet.html' title='How to use WinControl in ASP.Net'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4450748452863083044.post-167942232025019336</id><published>2007-05-05T10:44:00.000+05:30</published><updated>2007-05-05T10:46:30.053+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='सकल सर्वर'/><title type='text'>RAID</title><content type='html'>RAID (redundant array of independent disks) is a disk system that comprises multiple disk drives (an array) to provide higher performance, reliability, storage capacity, and lower cost. Fault-tolerant arrays are categorized in six RAID levels, 0 through 5. Each level uses a different algorithm to implement fault tolerance.&lt;br /&gt;Although RAID is not a part of Microsoft® SQL Server™ 2000, its implementation can directly affect the way SQL Server performs. RAID levels 0, 1, and 5 are typically used with SQL Server.&lt;br /&gt;&lt;br /&gt;Note RAID is available only on Microsoft Windows NT 4.0 and Microsoft Windows 2000.&lt;br /&gt;A hardware disk array improves I/O performance because I/O functions, such as striping and mirroring, are handled efficiently in firmware. Conversely, an operating system–based RAID offers lower cost but consumes processor cycles. When cost is a consideration and redundancy and high performance are required, Microsoft Windows® NT® stripe sets with parity or Windows 2000 RAID-5 volumes are a good solution.&lt;br /&gt;Data striping (RAID 0) is the RAID configuration with the highest performance, but if one disk fails, all the data on the stripe set becomes inaccessible. A common installation technique for relational database management systems is to configure the database on a RAID 0 drive and then place the transaction log on a mirrored drive (RAID 1). You can get the best disk I/O performance for the database and maintain data recoverability (assuming you perform regular database backups) through a mirrored transaction log.&lt;br /&gt;If data must be quickly recoverable, consider mirroring the transaction log and placing the database on a RAID 5 disk. RAID 5 provides redundancy of all data on the array, allowing a single disk to fail and be replaced in most cases without system downtime. RAID 5 offers lower performance than RAID 0 or RAID 1 but higher reliability and faster recovery.&lt;div class="blogger-post-footer"&gt;&lt;div&gt;&lt;a href="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s1600-h/MySelf.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5066580434726440114" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 93px; CURSOR: hand; HEIGHT: 81px" height="202" alt="" src="http://bp1.blogger.com/_HzPnojwESgg/RlAcD73QTLI/AAAAAAAAAEw/Kn_z-5_0tts/s400/MySelf.jpg" width="222" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4450748452863083044-167942232025019336?l=deepjain1290.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://deepjain1290.blogspot.com/feeds/167942232025019336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4450748452863083044&amp;postID=167942232025019336&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/167942232025019336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4450748452863083044/posts/default/167942232025019336'/><link rel='alternate' type='text/html' href='http://deepjain1290.blogspot.com/2007/05/raid.html' title='RAID'/><author><name>दीपक जैन</name><uri>http://www.blogger.com/profile/02800466135139063942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/-joSxAimVJuo/ThaUcsehQ4I/AAAAAAAAAzQ/KGsFRt50yjU/s220/24022011242.jpg'/></author><thr:total>0</thr:total></entry></feed>
