<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3582028397384288492</atom:id><lastBuildDate>Tue, 10 Sep 2024 15:35:59 +0000</lastBuildDate><title>Hi everybody</title><description></description><link>http://whatisthis-caigithenay.blogspot.com/</link><managingEditor>noreply@blogger.com (trungbozo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:category text="Technology"><itunes:category text="Gadgets"/></itunes:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-7722621562390958145</guid><pubDate>Sat, 20 Apr 2013 04:22:00 +0000</pubDate><atom:updated>2013-04-20T11:38:10.359+07:00</atom:updated><title>Hot Hot</title><description>&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "ca-pub-8461985170585812";
/* MyBlog */
google_ad_slot = "2483947184";
google_ad_width = 336;
google_ad_height = 280;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2013/04/blog-post.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-7316516060248740986</guid><pubDate>Thu, 23 Aug 2012 03:42:00 +0000</pubDate><atom:updated>2012-08-23T10:42:13.091+07:00</atom:updated><title>Tai Lieu: Toan roi rac - Phan tich thiet ke he thong</title><description>Tài liệu về: toán rời rạc
             kỹ thuật lập trình
             phân tích thiết kế hệ thống



Good Luck For Every Body!
&lt;a href="http://www.mediafire.com/#1cjw97jzzz9wq"&gt;Download here&lt;/a&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2012/08/tai-lieu-toan-roi-rac-phan-tich-thiet.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-8015920661215474582</guid><pubDate>Wed, 20 Jun 2012 10:37:00 +0000</pubDate><atom:updated>2012-06-21T08:35:53.709+07:00</atom:updated><title>PES 2011 Full</title><description>To &lt;b&gt;download PES 2011 Full Version Free&lt;/b&gt; you can scroll down to find the PES 2011 full game download link.  If you found any dead links, please notify us so we can fix them immediately. &lt;br /&gt;
&lt;img alt="PES2011-Logo" class="aligncenter size-full wp-image-751" height="264" src="http://fullversiongaming.com/wp-content/uploads/2010/09/PES2011-Logo.jpg" title="PES2011-Logo" width="320" /&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;Download PES 2011 Full Version Free&lt;/b&gt; . 
 Pro Evolution Soccer 2011 (officially abbreviated as PES 2011 and often
 known as World Soccer: Winning Eleven 2011 in Asia) is often a football
 video game in the Pro Evolution Soccer sequence staying formulated and 
published by Konami with production help from the Blue Sky Crew.  The game was announced on 9 February 2010 and is set to be introduced on 8th October 2010 on PlayStation 3 and Xbox 360.  With Nintendo Wii, Pc, PlayStation 2 and PSP being produced quickly after, in October to November. 
 The UEFA Champions League and UEFA Europa League will characteristic 
within the game; and for the initial time CONMEBOL's Copa Libertadores 
and UEFA Super Cup will probably be fully licensed. 
 The initial trailer was released on 4 May possibly 2010, whilst an E3 
trailer was launched in June 2010, showing some of the new capabilities 
of the game.  The game may also see the return of Lionel Messi as its cover star. &lt;/div&gt;
ITV's Jim Beglin has been carried out as new co-commentator to Jon Champion for PES 2011. &lt;br /&gt;
A demo of PES 2011 will probably be available to download for Personal 
laptop &amp;amp; PS3 on 15 September 2010 with Playstation Plus subscribers 
able to obtain it from 8 September 2010. 
 The demo will allow users to play 10 minute games with 4 teams 
accessible: FC Barcelona and Bayern MÃƒÂ¼nchen or Copa Libertadores pair
 Chivas de Guadalajara and SC Internacional.  A video presentation is also included outlining the full game's content in readiness of the game's UK launch on 8 October 2010.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.mediafire.com/?xypnd4sa0hb1w" target="_blank"&gt;Download Here&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2012/06/pes-2011-full.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-2154567057304756549</guid><pubDate>Wed, 20 Jun 2012 10:32:00 +0000</pubDate><atom:updated>2012-06-21T08:36:02.168+07:00</atom:updated><title>Modem ADSL SE261 Driver VNPT</title><description>Driver USB for Modem ADSL &lt;span class="st"&gt;Siemens SE261 of VNPT &amp;nbsp; : &amp;nbsp;&amp;nbsp; &lt;a href="http://www.mediafire.com/download.php?39rbn7vcqsblpls" target="_blank"&gt;Download Here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Siemens Gigaset SE261 DSL driver&amp;nbsp; : &amp;nbsp;&lt;a href="http://www.mediafire.com/download.php?53ybi8y7u4hc9f5" target="_blank"&gt;Download Here&lt;/a&gt;&lt;span class="st"&gt; &lt;/span&gt;

&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2012/06/modem-adsl-se261-driver-vnpt.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-5295389408586957255</guid><pubDate>Wed, 20 Jun 2012 10:27:00 +0000</pubDate><atom:updated>2012-06-21T08:36:16.714+07:00</atom:updated><title>Visual Studio 2010 Ultimate</title><description>&lt;div class="block_big"&gt;
Microsoft Visual Studio 2010 Ultimate is the comprehensive 
suite of application lifecycle management tools for teams to ensure 
quality results, from design to deployment. Whether you're creating new 
solutions or enhancing existing applications, Visual Studio 2010 
Ultimate lets you bring your vision to life targeting an increasing 
number of platforms and technologies—including cloud and parallel 
computing.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.mediafire.com/?qx3lx0x1aspzo" target="_blank"&gt;Download Here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="section_60_40 "&gt;
&lt;div class="block_small"&gt;
&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/overview"&gt;&lt;span class="thumbnail"&gt;&lt;img src="http://i.microsoft.com/visualstudio/_base_v1/images/screenshots/ultimate/intellitrace_thumb.png" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="block_small"&gt;
&lt;span class="thumbnail"&gt;&lt;img class="thumbnail_plus_icon" src="http://i.microsoft.com/visualstudio/_base_v1/modules/thumbnail/images/plus_icon.png" /&gt;&lt;/span&gt;
                      &lt;/div&gt;
&lt;div class="block_big"&gt;
&lt;h4&gt;

Eliminate 'no repro' with IntelliTrace&lt;/h4&gt;
The new IntelliTrace feature makes the "no-repro" discussion
 a thing of the past. Testers can file rich and actionable bugs with 
system information, and even include an environment snapshot. That way 
developers can reproduce the reported bug in the state it was found.
          &lt;/div&gt;
&lt;/div&gt;
&lt;div class="section_60_40 right_aligned "&gt;
&lt;div class="block_small"&gt;
&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/overview"&gt;&lt;span class="thumbnail"&gt;&lt;img src="http://i.microsoft.com/visualstudio/_base_v1/images/screenshots/ultimate/understand_existing_architecture_thumb.png" /&gt;&lt;img class="thumbnail_plus_icon" src="http://i.microsoft.com/visualstudio/_base_v1/modules/thumbnail/images/plus_icon.png" /&gt;&lt;/span&gt;&lt;/a&gt;
                      &lt;/div&gt;
&lt;div class="block_big"&gt;
&lt;h4&gt;

Understand existing architecture&lt;/h4&gt;
The Architecture Explorer helps you 
understand and unleash the value of your existing code assets and their 
inter-dependencies. You can produce detailed models of exactly how an 
application is constructed and even drill-down into specific areas for a
 deeper understanding.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section_60_40 "&gt;
&lt;div class="block_small"&gt;
&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/overview"&gt;&lt;span class="thumbnail"&gt;&lt;img src="http://i.microsoft.com/visualstudio/_base_v1/images/screenshots/ultimate/ensure_architectural_compliance_thumb.png" /&gt;&lt;img class="thumbnail_plus_icon" src="http://i.microsoft.com/visualstudio/_base_v1/modules/thumbnail/images/plus_icon.png" /&gt;&lt;/span&gt;&lt;/a&gt;
                      &lt;/div&gt;
&lt;div class="block_big"&gt;
&lt;h4&gt;

Ensure architectural compliance&lt;/h4&gt;
Use the new layer diagram to define and 
communicate logical application architecture and to validate code 
artifacts against the required architecture. Layer diagrams help your 
development efforts stay on track so your application conforms to your 
original vision.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section_60_40 right_aligned "&gt;
&lt;div class="block_small"&gt;
&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/overview"&gt;&lt;span class="thumbnail"&gt;&lt;img src="http://i.microsoft.com/visualstudio/_base_v1/images/screenshots/ultimate/embrace_manual_testing_thumb.png" /&gt;&lt;img class="thumbnail_plus_icon" src="http://i.microsoft.com/visualstudio/_base_v1/modules/thumbnail/images/plus_icon.png" /&gt;&lt;/span&gt;&lt;/a&gt;
                      &lt;/div&gt;
&lt;div class="block_big"&gt;
&lt;h4&gt;

Embrace Manual Testing&lt;/h4&gt;
Visual Studio Test Professional 2010, part of
 Visual Studio 2010 Ultimate, provides you with a single tool to capture
 and update test requirements, automate navigation of manual tests, and 
speed up the fix and accept cycle by capturing the entire test context. 
This provides developers with everything they need to ensure that every 
error is reproducible.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="block_small"&gt;
&lt;a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/overview"&gt;&lt;span class="thumbnail"&gt;&lt;img src="http://i.microsoft.com/visualstudio/_base_v1/images/screenshots/ultimate/be_proactive_about_agile_project_management_thumb.png" /&gt;&lt;img class="thumbnail_plus_icon" src="http://i.microsoft.com/visualstudio/_base_v1/modules/thumbnail/images/plus_icon.png" /&gt;&lt;/span&gt;&lt;/a&gt;
                      &lt;/div&gt;
&lt;div class="block_big"&gt;
&lt;h4&gt;

Be proactive about agile project management&lt;/h4&gt;
Visual Studio 2010 Ultimate is optimized for today's 
iterative development process with features that help you remain 
productive and react to potential risks before they happen. You can 
monitor the health of your project using reports that are automatically 
generated. Plus manage your project's capacity with historical data and 
Microsoft Excel-based planning documents.
          &lt;/div&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2012/06/visual-studio-2010-ultimate.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-3565255657874836090</guid><pubDate>Wed, 20 Jun 2012 10:22:00 +0000</pubDate><atom:updated>2012-06-21T08:36:30.308+07:00</atom:updated><title>comic doraemon</title><description>Donas Vikipedio, l'enciclopedia libera. &lt;br /&gt;
&lt;div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="it"&gt;
&lt;div class="icona_del_titolo noprint" style="position: absolute; right: 115px; top: 8px; z-index: 100;"&gt;
&lt;div style="height: 40px; overflow: hidden; position: relative; width: 25px;"&gt;
&lt;div style="left: 0px; position: absolute; top: 0px; z-index: 2;"&gt;
&lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Aiuto:Unicode&amp;amp;usg=ALkJrhi8D1ruB7Up07MEUHQLFczjGE-69A" title="Se hai problemi nella visualizzazione dei caratteri, clicca qui."&gt;&lt;img alt="Se hai problemi nella visualizzazione dei caratteri, clicca qui." height="25" src="http://upload.wikimedia.org/wikipedia/it/thumb/6/63/Nuvola_mimetypes_charnotfound.PNG/25px-Nuvola_mimetypes_charnotfound.PNG" width="25" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;table class="sinottico" style="width: 300px;"&gt;&lt;tbody&gt;
&lt;tr class="sinottico_testata"&gt;&lt;th colspan="2" style="background-color: purple; color: white;"&gt; &lt;i&gt;Doraemon&lt;/i&gt; &lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" colspan="2"&gt; maniko &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" colspan="2"&gt;&lt;div class="floatnone"&gt;
&lt;a class="image" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/File:Doraemon.jpg&amp;amp;usg=ALkJrhjGKMoOhSBDzUUXQSeDBZrNOm0MjA" title="La copertina del Unua numero (Donis 6) della raccolta italiana"&gt;&lt;img alt="La copertina del Unua numero (Donis 6) della raccolta italiana" height="280" src="http://upload.wikimedia.org/wikipedia/it/thumb/3/35/Doraemon.jpg/182px-Doraemon.jpg" width="182" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;span style="font-size: 90%;"&gt;La copertina del Unua numero (Donis 6) della raccolta italiana&lt;/span&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Titolo originale &lt;/th&gt;&lt;td&gt; &lt;i&gt;Doraemon&lt;/i&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Autore &lt;/th&gt;&lt;td&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Fujiko_F._Fujio&amp;amp;usg=ALkJrhgo3kI5RRj7NxEV8L3shu6TLRQqdw" title="Fujiko F. Fujio"&gt;Fujiko F. Fujio&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Editore &lt;/th&gt;&lt;td&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Shogakukan&amp;amp;usg=ALkJrhhNaMxQxkpnC0ng5GyyWeVW-LaJZA" title="Shogakukan"&gt;Shogakukan&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; 1 ª edizione &lt;/th&gt;&lt;td&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Dicembre&amp;amp;usg=ALkJrhheZvTWlMUQAQC-812pNHBVpJcP_Q" title="Dicembre"&gt;Dicembre&lt;/a&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1969&amp;amp;usg=ALkJrhgQ3CD5J7J3JaUO8APlger7D4OEmA" title="1969"&gt;1,969&lt;/a&gt; - &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1996&amp;amp;usg=ALkJrhi6mBmcWxLz7VIW7yOl4EeAlgLoOw" title="1996"&gt;1996&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Collana 1 ª &lt;span title="edizione"&gt;eld.&lt;/span&gt; &lt;/th&gt;&lt;td&gt; CoroCoro Comic &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Periodicità &lt;/th&gt;&lt;td&gt; Settimanale &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Tankobon&amp;amp;usg=ALkJrhipR_4qnOC6jIVdvLmqL9OdESH4nA" title="Tankobon"&gt;Tankobon&lt;/a&gt; &lt;/th&gt;&lt;td&gt; 45 &lt;small&gt;(completa)&lt;/small&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Editore &lt;span title="italiano"&gt;ĝin.&lt;/span&gt; &lt;/th&gt;&lt;td&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Star_Comics&amp;amp;usg=ALkJrhho5Nx4nCRd0Z-VnLTuVo3eOq_fcw" title="Star Comics"&gt;Star Comics&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; 1 ª edizione &lt;span title="italiana"&gt;ĝin.&lt;/span&gt; &lt;/th&gt;&lt;td&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/2003&amp;amp;usg=ALkJrhiTZVgm7OgFqviJYWQYuu1eBO8UrQ" title="2003"&gt;2003&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Collana 1 ª &lt;span title="italiana"&gt;&lt;span title="edizione"&gt;eld. Ĝi.&lt;/span&gt;&lt;/span&gt; &lt;/th&gt;&lt;td&gt; Fantomo &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Tankobon&amp;amp;usg=ALkJrhipR_4qnOC6jIVdvLmqL9OdESH4nA" title="Tankobon"&gt;Tankobon&lt;/a&gt; &lt;span title="Italiani"&gt;ĝin.&lt;/span&gt; &lt;/th&gt;&lt;td&gt; 6 &lt;small&gt;(completa)&lt;/small&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;th&gt; Genere &lt;/th&gt;&lt;td&gt;&lt;ul&gt;
&lt;li&gt;  &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Kodomo&amp;amp;usg=ALkJrhjNcGltHBZS7nqZrPMWL6LBu-vZPw" title="Kodomo"&gt;Kodomo&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;  &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Comico&amp;amp;usg=ALkJrhgoxHtSa6JYrxNs7iTpXb5kJy8ZMQ" title="Comico"&gt;Comico&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;  &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Fantasy&amp;amp;usg=ALkJrhjr5CSxryGrhKXabjPIMOKfRn2sMg" title="Fantazio"&gt;Fantazio&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;  &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Commedia&amp;amp;usg=ALkJrhhCTKcIONN_ptlyJJ73BbWFoC4yBg" title="Commedia"&gt;Commedia&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;b&gt;&lt;i&gt;Doraemon&lt;/i&gt;&lt;/b&gt; &lt;span style="font-weight: normal;"&gt; &lt;span class="t_nihongo_romaji"&gt;&lt;i&gt;Doraemon&lt;/i&gt;&lt;/span&gt; &lt;sup&gt;&lt;span class="t_nihongo_icona" style="color: #0000ee; font: bold 80% sans-serif; padding: 0px 0.1em; text-decoration: none;"&gt;&lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Aiuto:Giapponese&amp;amp;usg=ALkJrhiMTeNtlfebJ4nRGy9cJ6UK-VNyTg" title="Aiuto: Giapponese"&gt;&lt;span class="t_nihongo_aiuto"&gt;?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/sup&gt; ) è un &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Manga&amp;amp;usg=ALkJrhg8krKAGf60OBIyFKB0gMCUEvSR5g" title="Maniko"&gt;maniko&lt;/a&gt; Giapponese donis &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Fujiko_F._Fujio&amp;amp;usg=ALkJrhgo3kI5RRj7NxEV8L3shu6TLRQqdw" title="Fujiko F. Fujio"&gt;Fujiko F. Fujio&lt;/a&gt; (Fujio Fujiko · F ·), ( &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Pseudonimo&amp;amp;usg=ALkJrhjUpFqlZ_4Q9B4bKsCA6jt-R0Ub1A" title="Pseudonimo"&gt;Pseudonimo&lt;/a&gt; del Duo mangaka &lt;a class="new" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/w/index.php%3Ftitle%3DHiroshi_Fujimoto%26action%3Dedit%26redlink%3D1&amp;amp;usg=ALkJrhgy8Z6_-yX8P0I-qQDT2c4Oz8NkQg" title="Hiroshi Fujimoto (pagina inesistente)"&gt;Hiroshi Fujimoto&lt;/a&gt; retleteron &lt;a class="new" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/w/index.php%3Ftitle%3DMotoo_Abiko%26action%3Dedit%26redlink%3D1&amp;amp;usg=ALkJrhgsB-HetvH1d3AKtstLZqUVhLC6wA" title="Motoo Abiko (pagina inesistente)"&gt;Motoo Abiko&lt;/a&gt; ) Stato donas Cui è poi un Tratto &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Anime&amp;amp;usg=ALkJrhj7jeuNvrvrPoSY_ePqE7_65HnmnA" title="Anime"&gt;Anime&lt;/a&gt;
 , Narra Le Che donis Avventure un gatto roboto giunto dal futuro 
viaggiando indietro Nel takto por aiutare jen sfortunatissimo Nobi 
Nobita (Nobita Nobi, Nobi Nobita, gioco donis parole che significa "uno 
che se la prende comoda") en modo che i Suoi discendenti godano delle 
fortuno prodotte dal successo donis Nobi, piuttosto che essere afflitti 
dai grossi debiti provocati Dalla sua incompetenza nella linea temporale
 originale.&lt;/span&gt; &lt;br /&gt;
&lt;div class="thumb tright"&gt;
&lt;div class="thumbinner" style="width: 152px;"&gt;
&lt;a class="image" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/File:Logo_Doraemon.png&amp;amp;usg=ALkJrhijq0p9rvG5tjjUyFfo87SCf-Hpaw"&gt;&lt;img alt="" class="thumbimage" height="49" src="http://upload.wikimedia.org/wikipedia/it/thumb/7/7a/Logo_Doraemon.png/150px-Logo_Doraemon.png" width="150" /&gt;&lt;/a&gt; &lt;br /&gt;
&lt;div class="thumbcaption"&gt;
&lt;div class="magnify"&gt;
&lt;a class="internal" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/File:Logo_Doraemon.png&amp;amp;usg=ALkJrhijq0p9rvG5tjjUyFfo87SCf-Hpaw" title="Ingrandisci"&gt;&lt;img alt="" height="11" src="http://bits.wikimedia.org/static-1.20wmf4/skins/common/images/magnify-clip.png" width="15" /&gt;&lt;/a&gt; &lt;/div&gt;
Logo della serio &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
HA Serio la Nel Debuttato Dicembre &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1969&amp;amp;usg=ALkJrhgQ3CD5J7J3JaUO8APlger7D4OEmA" title="1969"&gt;1,969&lt;/a&gt; , en Sei Riviste Pubblicata Simultaneamente. En totale, krei ŝtaton Sono 1.344 Storie nella Serio originale, Dalla Pubblicate &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Shogakukan&amp;amp;usg=ALkJrhhNaMxQxkpnC0ng5GyyWeVW-LaJZA" title="Shogakukan"&gt;Shogakukan&lt;/a&gt; maniko por l'Etichetta Tentomushi &lt;span style="font-weight: normal;"&gt; &lt;sup&gt;&lt;span class="t_nihongo_icona" style="color: #0000ee; font: bold 80% sans-serif; padding: 0px 0.1em; text-decoration: none;"&gt;&lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Aiuto:Giapponese&amp;amp;usg=ALkJrhiMTeNtlfebJ4nRGy9cJ6UK-VNyTg" title="Aiuto: Giapponese"&gt;&lt;span class="t_nihongo_aiuto"&gt;?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/sup&gt; ),&lt;/span&gt; po un totale donis Quarantacinque Volumi. Mi Takaoka Centra Biblioteko Volumi Sono Raccolti presso la Donis &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Toyama&amp;amp;usg=ALkJrhhTiq59qYHjk8OlW8vJs5fZbN0gTg" title="Toyama"&gt;Toyama&lt;/a&gt; , &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Giappone&amp;amp;usg=ALkJrhhO3sqPyS3f1oTKHYVcxCzee-ZxdA" title="Giappone"&gt;Giappone&lt;/a&gt; , Fujiko Fujio kolombo è NATO. &lt;br /&gt;

 Storie donis la delle Maggior Parte Doraemon Che Sono Commedie 
Insegnano AI mi Bambini Dell'integrita Valori, della Perseveranza, del 
Coraggio, e della Famiglia del Rispetto. Inoltre Spesso Affrontati Temi 
Ambientalisti Venu Sono il &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Surriscaldamento_globale&amp;amp;usg=ALkJrhgNqfDn-X5OdWmxmDuJfhm_j9q8ww" title="Surriscaldamento globale"&gt;Surriscaldamento globale&lt;/a&gt; , Lin Specie en vojo donis donis Animali &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Estinzione&amp;amp;usg=ALkJrhgeeA_C0JQr3tg4Q_EJcdP7k28-Kw" title="Estinzione"&gt;Estinzione&lt;/a&gt; , il &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Disboscamento&amp;amp;usg=ALkJrhgrPyLzPEbXslsEGxbVBMRn-qeBEg" title="Disboscamento"&gt;Disboscamento&lt;/a&gt; El ' &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Inquinamento&amp;amp;usg=ALkJrhj156Ine-Rp-kgC9SXxsvxol-EmFw" title="Inquinamento"&gt;Inquinamento&lt;/a&gt; ed en Alcune Occasioni Sono stati Affrontati Argomenti Didattici Mi Venu &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Dinosauri&amp;amp;usg=ALkJrhjFBz2Wj4uXQkTRvZxLU2GGQjMJ-g" title="Dinosauri"&gt;Dinosauri&lt;/a&gt; , mi &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Viaggi_di_Gulliver&amp;amp;usg=ALkJrhjlX5gguHPUOfMJxfKTFkha5YVv6Q" title="Viaggi donis Gulliver"&gt;Viaggi donis Gulliver&lt;/a&gt; ho la &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Storia_del_Giappone&amp;amp;usg=ALkJrhjnryOnaVQ163ZKQ3wh3GejWLZUYQ" title="Storia del Giappone"&gt;Storia del Giappone&lt;/a&gt; . &lt;br /&gt;
 E Stato del &lt;i&gt;Doraemon&lt;/i&gt; Insignito &lt;a class="new" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/w/index.php%3Ftitle%3DJapan_Cartoonists_Association_Award%26action%3Dedit%26redlink%3D1&amp;amp;usg=ALkJrhhlqXPUCj8HcntaXO_32jLy0o578g" title="Japanio dibujantes Asocio Award (pagina inesistente)"&gt;p dibujantes Asocio Premio&lt;/a&gt; Eccellenza po l'Nel &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1973&amp;amp;usg=ALkJrhi8jWzMQbaA1tkrxwe0ssLtX9ZKEQ" title="1973"&gt;mil nauxcent sepdek tri&lt;/a&gt; . Doraemon &lt;i&gt;HA Inoltre Vinto il &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Shogakukan_Manga_Award&amp;amp;usg=ALkJrhgyysnnY3HS7gQprKB1Fn8DwBP1sg" title="Shogakukan Maniko Award"&gt;Shogakukan Maniko Award&lt;/a&gt; nella Kategorio dei Bambini Nel Fumetti po &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1982&amp;amp;usg=ALkJrhiLcKprEMDwRzTiEWhSJ_P6eO2vmw" title="1982"&gt;unu mil naŭcent okdek du&lt;/a&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Doraemon&amp;amp;usg=ALkJrhgKADT8WF_V3YBV4qE3oFhZ9rKfbw#cite_note-0"&gt;&lt;sup class="reference" id="cite_ref-0"&gt;[a]&lt;/sup&gt;&lt;/a&gt; , ed il Unua &lt;a class="mw-redirect" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Osamu_Tezuka_Culture_Award&amp;amp;usg=ALkJrhg2MypayWfsM3zDgq9FhnUA6e3L9g" title="Osamu Tezuka Kulturo Premio"&gt;Osamu Tezuka Kulturo Premio&lt;/a&gt; Nel &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/1997&amp;amp;usg=ALkJrhg5GWJPvemaz8DjrWv17Dyy6aJV6w" title="1997"&gt;1,997&lt;/a&gt; . Nel &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Marzo&amp;amp;usg=ALkJrhhmCDLngldMKNv6u59CxvvcYOhvIg" title="Marzo"&gt;Marzo&lt;/a&gt; &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/2008&amp;amp;usg=ALkJrhgWy82cMHK6KVjZECUDcUrnAJtYqQ" title="2008"&gt;2008&lt;/a&gt; , è Stato Doraemon Nominato "Ambasciatore&lt;/i&gt; degli Animu Nel &lt;i&gt;mondo", dal Ministro degli Esteri Giapponese &lt;a class="new" href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/w/index.php%3Ftitle%3DMasahiko_Komura%26action%3Dedit%26redlink%3D1&amp;amp;usg=ALkJrhgG-ifehYLe8fYC8hjXG_IB9ELC6w" title="Masahiko Komura (pagina inesistente)"&gt;Masahiko Komura&lt;/a&gt; por la Kulturo retleteron l'Industria Promuovere Dell'animazione Fuori dal Giappone. &lt;a href="http://translate.googleusercontent.com/translate_c?hl=vi&amp;amp;rurl=translate.google.com.vn&amp;amp;sl=ja&amp;amp;tl=eo&amp;amp;twu=1&amp;amp;u=http://it.wikipedia.org/wiki/Doraemon&amp;amp;usg=ALkJrhgKADT8WF_V3YBV4qE3oFhZ9rKfbw#cite_note-1"&gt;&lt;sup class="reference" id="cite_ref-1"&gt;[2]&lt;/sup&gt;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;i&gt;&lt;sup class="reference" id="cite_ref-1"&gt;Language: Vietnamese&lt;/sup&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;i&gt;&lt;sup class="reference" id="cite_ref-1"&gt;Link:&amp;nbsp;&lt;a href="http://www.mediafire.com/?t7wl3s63bkh44"&gt;Download Here&lt;/a&gt; &lt;/sup&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;








&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2012/06/comic-doraemon.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-1236820115913116105</guid><pubDate>Fri, 11 Nov 2011 10:27:00 +0000</pubDate><atom:updated>2012-06-21T08:36:44.253+07:00</atom:updated><title>Kaspersky Open Space Security</title><description>Kaspersky Open Space Security provides your wide corporate infrastructure with world-class anti-malware protection in a single, integrated suite of applications that work seamlessly across all platforms. Every workstation, laptop, file server, mail server, Internet gateway or smartphone is fully protected, giving you complete confidence that the network is secure, whether you are working in the office, remotely or at home.&lt;br /&gt;Why Kaspersky Open Space Security?&lt;br /&gt;&lt;br /&gt;Our new and refreshed business IT security products far exceed industry standards and are suitable for all network nodes, yet make minimal demands on your network’s valuable resources. The optimized security systems are easy to deploy, administer and maintain, increasing your levels of security whilst significantly decreasing your total cost of protection. As a result, your business benefits from:&lt;br /&gt;&lt;br /&gt;    Deeper protection, comprehensive endpoint control and centralized administration&lt;br /&gt;    Out-of-the box protection against all types of Internet threats&lt;br /&gt;    Rapid response to new malware attacks&lt;br /&gt;    Optimized and cost-effective security, licensing and purchasing that maximizes business productivity for less investment&lt;br /&gt;    Customer-focused, global and local technical support expertise&lt;br /&gt;    Combined power of signature-based, proactive and cloud-assisted protection technologies&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/downloadlink/16034614/KavFs6.0.4.1424.part1.rar"&gt;part1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/downloadlink/16035208/KavFs6.0.4.1424.part2.rar"&gt;part2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/downloadlink/16035290/KavFs6.0.4.1424.part3.rar"&gt;part3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ziddu.com/downloadlink/16036177/KavFs6.0.4.1424.part4.rar"&gt;part4&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2011/11/kaspersky-open-space-security.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-1084811852923132159</guid><pubDate>Fri, 11 Nov 2011 10:24:00 +0000</pubDate><atom:updated>2012-06-21T08:38:47.129+07:00</atom:updated><title>Hi everybody: Bar Karaoke Data</title><description>&lt;a href="http://whatisthis-caigithenay.blogspot.com/2009/05/bar-karaoke-data.html"&gt;Hi everybody: Bar Karaoke Data&lt;/a&gt;





&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;


&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2011/11/hi-everybody-bar-karaoke-data.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-3635579950552516007</guid><pubDate>Sun, 15 Nov 2009 11:11:00 +0000</pubDate><atom:updated>2012-06-21T08:46:20.394+07:00</atom:updated><title>Windows Server 2003 SP2 Family</title><description>Windows Server 2003 SP2 Family &lt;a href = "http://mega.1280.com/folder/38RF9H/"&gt;Click here&lt;/a&gt;



&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/11/windows-server-2003-sp2-family.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-1166269911903745761</guid><pubDate>Sun, 15 Nov 2009 11:06:00 +0000</pubDate><atom:updated>2012-06-21T08:46:08.998+07:00</atom:updated><title>Passware Kit Enterprise v8.3.0 Full With CDKey</title><description>Use remove and crack password file&lt;br /&gt;&lt;a href = "http://mega.1280.com/file/HGL9VSCQZM/"&gt;Click here&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/11/passware-kit-enterprise-v830-full-with.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-3585417868809417828</guid><pubDate>Sun, 15 Nov 2009 11:03:00 +0000</pubDate><atom:updated>2012-06-21T08:45:31.039+07:00</atom:updated><title>Microsoft Visual Studio .NET 2003</title><description>Software for coding with C#, C++, J#, Visual Basic&lt;br /&gt;&lt;a href = "http://mega.1280.com/folder/ECDL4K/"&gt;Click here&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/11/microsoft-visual-studio-net-2003.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-2123425154511397514</guid><pubDate>Sun, 15 Nov 2009 10:57:00 +0000</pubDate><atom:updated>2012-06-21T08:45:19.732+07:00</atom:updated><title>MapInfo + MicroStationSE + MicroStation8 + Famis2003 + GeoVec6.0 + Clean8 + IrasB60</title><description>Download Software support work with map:&lt;br /&gt;1 - MapInfo &lt;br /&gt;2 - MicroStationSE &lt;br /&gt;3 - MicroStation8 &lt;br /&gt;4 - Famis2003 &lt;br /&gt;5 - GeoVec6.0 &lt;br /&gt;6 - Clean8 &lt;br /&gt;7 - IrasB60&lt;br /&gt;&lt;a href = "http://mega.1280.com/folder/H769MK/"&gt;Click here&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/11/mapinfo-microstationse-microstation8.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-6148020600126521263</guid><pubDate>Mon, 12 Oct 2009 16:24:00 +0000</pubDate><atom:updated>2012-06-21T08:45:43.534+07:00</atom:updated><title>Error GRUB Loading stage 1.5</title><description>If you re-ghost PC on PC setup Linux, you will see error &lt;br /&gt;GRUB Loading stage1.5.&lt;br /&gt;GRUB Loading, please wait...&lt;br /&gt;Error17&lt;br /&gt;-&lt;br /&gt;See Picture:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNalBSGu0I/AAAAAAAAAtQ/hbyQFrcfYYU/s1600-h/Loi.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 223px;" src="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNalBSGu0I/AAAAAAAAAtQ/hbyQFrcfYYU/s400/Loi.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391752770938649410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Edit:&lt;br /&gt;- Step1: Put on CD Setup Win&lt;br /&gt;- Step2: &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNbFMpghOI/AAAAAAAAAtY/L_I8PA409kw/s1600-h/Step1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 223px;" src="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNbFMpghOI/AAAAAAAAAtY/L_I8PA409kw/s400/Step1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391753323745412322" /&gt;&lt;/a&gt;&lt;br /&gt;press button "R"&lt;br /&gt;-Step3:Wait until you see : &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNb7cGP89I/AAAAAAAAAtg/LWbzPF9zpWc/s1600-h/Step2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 223px;" src="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNb7cGP89I/AAAAAAAAAtg/LWbzPF9zpWc/s400/Step2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391754255605429202" /&gt;&lt;/a&gt;&lt;br /&gt;then input number partition setup windows:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNdPAXSCNI/AAAAAAAAAto/iiC9lCBfwmw/s1600-h/Step3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 219px;" src="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNdPAXSCNI/AAAAAAAAAto/iiC9lCBfwmw/s400/Step3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391755691269687506" /&gt;&lt;/a&gt;&lt;br /&gt;this sample is "1"&lt;br /&gt;- Step4: Input password for Acount Administrator&lt;br /&gt;- Step5: Input command "fixmbr"&lt;br /&gt;See picture:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNd3rzg0PI/AAAAAAAAAtw/MZmbh0eV0JE/s1600-h/Step5.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 219px;" src="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNd3rzg0PI/AAAAAAAAAtw/MZmbh0eV0JE/s400/Step5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391756390125588722" /&gt;&lt;/a&gt;&lt;br /&gt;- Step6: Input "y"&lt;br /&gt;- Step7: Finish. You input command "exit". Now you put out CDRom.&lt;br /&gt;See picture:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNeiyvNOwI/AAAAAAAAAt4/Jv7Pb5KiPYo/s1600-h/Step6.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 220px;" src="http://2.bp.blogspot.com/_-YLMNo-TjVE/StNeiyvNOwI/AAAAAAAAAt4/Jv7Pb5KiPYo/s400/Step6.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5391757130720951042" /&gt;&lt;/a&gt;&lt;br /&gt;- Step8: Wait restart




&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/10/error-grub-loading-stage-15.html</link><author>noreply@blogger.com (trungbozo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://4.bp.blogspot.com/_-YLMNo-TjVE/StNalBSGu0I/AAAAAAAAAtQ/hbyQFrcfYYU/s72-c/Loi.JPG" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-5415897293988167978</guid><pubDate>Sun, 13 Sep 2009 18:13:00 +0000</pubDate><atom:updated>2012-06-21T08:45:52.359+07:00</atom:updated><title>TeamViewer - Remote Computer very fast</title><description>*** The one-stop solution for desktop sharing&lt;br /&gt;&lt;br /&gt;TeamViewer is the fast, simple and friendly solution for remote access over the Internet - all applications in one single, very affordable module:&lt;br /&gt;&lt;br /&gt;****Remote access to PCs and servers via Internet&lt;br /&gt;&lt;br /&gt;Instantly take control over a computer anywhere on the Internet, even through firewalls. No installation required, just use it fast and secure.&lt;br /&gt;&lt;br /&gt;****Training, sales and teamwork&lt;br /&gt;&lt;br /&gt;TeamViewer can also be used to present your desktop to a partner on the Internet - great for team collaboration, trainings and sales presentations.&lt;br /&gt;&lt;br /&gt;****File transfer, chat and more&lt;br /&gt;&lt;br /&gt;Share your files, chat, switch the direction during a teamwork session, and a lot more is included in TeamViewer.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediafire.com/?nol3jngf3nm"&gt;Click here&lt;/a&gt;


&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/09/teamviewer.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-424504934761876958</guid><pubDate>Fri, 29 May 2009 01:15:00 +0000</pubDate><atom:updated>2012-06-21T08:46:00.735+07:00</atom:updated><title>HDD Regenerator 1.61 - Edit bad sector for HDD</title><description>This is tool to edit bad sector on HDD. &lt;a href="http://www.megaupload.com/?d=UWHZ8HA4"&gt;Click here&lt;/a&gt;



&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/05/hdd-regenerator-161.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-2278966191441206761</guid><pubDate>Sun, 17 May 2009 02:45:00 +0000</pubDate><atom:updated>2012-06-21T08:39:10.114+07:00</atom:updated><title>Bar Karaoke Data</title><description>This is bar karaoke data. Size is about 80Gb.It have 4097 song.Language is vietnamese&lt;br /&gt;
Link: &lt;a href="http://www.mediafire.com/?ky35czevbfpgp"&gt;Click&lt;/a&gt;&lt;br /&gt;
Updating... If you finished dowload, please wait for me update.</description><link>http://whatisthis-caigithenay.blogspot.com/2009/05/bar-karaoke-data.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-63643500191199523</guid><pubDate>Sat, 16 May 2009 17:51:00 +0000</pubDate><atom:updated>2012-06-21T08:40:09.767+07:00</atom:updated><title>Ghost XP3 for all computer - Auto setup driver</title><description>Ghost Image for all computer with driver.&lt;br /&gt;
When you finished ghost computer will find driver for your computer.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.mediafire.com/download.php?z1gnm4wmdtm"&gt;| Part 01 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?imkyznwziuy"&gt;| Part 02 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?1z5yemmjdyj"&gt;| Part 03 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?2mumhxgdjoy"&gt;| Part 04 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?imyj5z0dzdx"&gt;| Part 05 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?rjntijtjziz"&gt;| Part 06 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.mediafire.com/download.php?xltgacqjddz"&gt;| Part 07 |&lt;/a&gt;&lt;a href="http://www.mediafire.com/download.php?qjm3qntotg5"&gt;| Part 08 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/05/ghost-xp3-for-all-computer.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-2243810463226130377</guid><pubDate>Tue, 10 Mar 2009 05:01:00 +0000</pubDate><atom:updated>2012-06-21T08:40:18.637+07:00</atom:updated><title>Ghost XP2 For All Computer IDE</title><description>Ghost Image for all computer no driver with HDD IDE&lt;br /&gt;
When you finished ghost you have to setup driver for your computer&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=AHJXKQGK"&gt;| Part 01 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=BB14U69I"&gt;| Part 02 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=J2ZG8QBN"&gt;| Part 03 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=MKILGEC0"&gt;| Part 04 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=20P1SSXN"&gt;| Part 05 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=JTHBSBFX"&gt;| Part 06 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=Z5J5K8EX"&gt;| Part 07 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=FWCWFUVQ"&gt;| Part 08 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=R0YL7DZO"&gt;| Part 09 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=2J8M493G"&gt;| Part 10 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=SGOZ402Y"&gt;| Part 11 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=U1JUTBZZ"&gt;| Part 12 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=HKJM914O"&gt;| Part 13 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=8NY7MVXX"&gt;| Part 14 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=DLU3TV70"&gt;| Part 15 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=NAKH1G6X"&gt;| Part 16 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=99VFOF9O"&gt;| Part 17 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=KUAY5DWS"&gt;| Part 18 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=Z2Q4QXNW"&gt;| Part 19 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=6CSRZC9L"&gt;| Part 20 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=EA2IKOOT"&gt;| Part 21 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=XLMKT2HJ"&gt;| Part 22 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=7KFRW1D9"&gt;| Part 23 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=SI06R8MG"&gt;| Part 24 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=U85RGMS3"&gt;| Part 25 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=GT08ZKV8"&gt;| Part 26 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=UODZ9LES"&gt;| Part 27 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=W55Z5URH"&gt;| Part 28 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=4QNGAZ3C"&gt;| Part 29 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=962H5XL2"&gt;| Part 30 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=Y7GDOYGH"&gt;| Part 31 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=HGZNL937"&gt;| Part 32 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=VDAFVYLY"&gt;| Part 33 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=S7MPIKIT"&gt;| Part 34 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=5D7BODP1"&gt;| Part 35 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=OKE4C37K"&gt;| Part 36 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=51WRJHTQ"&gt;| Part 37 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=K0E5S0IZ"&gt;| Part 38 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=O21878JV"&gt;| Part 39 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=VY3RBCSS"&gt;| Part 40 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/ghost-xp2-for-all-computer-ide.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-5918730930129035311</guid><pubDate>Tue, 10 Mar 2009 04:54:00 +0000</pubDate><atom:updated>2012-06-21T08:40:31.381+07:00</atom:updated><title>Hirens.BootCD.9.7.with.keyboard.patch</title><description>Hiren's BootCD 9.7&lt;br /&gt;
All in one Dos Bootable CD which has all these utilities&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Partition Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Partition Magic Pro 8.05&lt;br /&gt;
Best software to partition hard drive&lt;br /&gt;
&lt;br /&gt;
Acronis Disk Director Suite 9.0.554&lt;br /&gt;
Popular disk management functions in a single suite&lt;br /&gt;
&lt;br /&gt;
Paragon Partition Manager 7.0.1274&lt;br /&gt;
Universal tool for partitions&lt;br /&gt;
&lt;br /&gt;
Partition Commander 9.01&lt;br /&gt;
The safe way to partition your hard drive,with undo feature&lt;br /&gt;
&lt;br /&gt;
Ranish Partition Manager 2.44&lt;br /&gt;
a boot manager and hard disk partitioner.&lt;br /&gt;
&lt;br /&gt;
The Partition Resizer 1.3.4&lt;br /&gt;
move and resize your partitions in one step and more.&lt;br /&gt;
&lt;br /&gt;
Smart Fdisk 2.05&lt;br /&gt;
a simple harddisk partition manager&lt;br /&gt;
&lt;br /&gt;
SPecial Fdisk 2000.03t&lt;br /&gt;
SPFDISK a partition tool.&lt;br /&gt;
&lt;br /&gt;
eXtended Fdisk 0.9.3&lt;br /&gt;
XFDISK allows easy partition creation and edition&lt;br /&gt;
&lt;br /&gt;
GDisk 1.1.1&lt;br /&gt;
Complete replacement for the DOS FDISK utility and more.&lt;br /&gt;
&lt;br /&gt;
Super Fdisk 1.0&lt;br /&gt;
Create, delete, format partitions drives without destroying data&lt;br /&gt;
&lt;br /&gt;
Partition Table Editor 8.0&lt;br /&gt;
Partition Table and Boot Record Editor&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Disk Clone Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
ImageCenter 5.6 (Drive Image 2002)&lt;br /&gt;
Best software to clone hard drive&lt;br /&gt;
&lt;br /&gt;
Norton Ghost 11.5&lt;br /&gt;
Similar to Drive Image (with usb/scsi support)&lt;br /&gt;
&lt;br /&gt;
Acronis True Image 8.1.945&lt;br /&gt;
Create an exact disk image for complete system backup and disk cloning.&lt;br /&gt;
&lt;br /&gt;
Partition Saving 3.60&lt;br /&gt;
A tool to backup/restore partitions. (SavePart.exe)&lt;br /&gt;
&lt;br /&gt;
COPYR.DMA Build013&lt;br /&gt;
A Tool for making copies of hard disks with bad sectors&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Antivirus Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
McAfee Antivirus 4.4.50 (3012)&lt;br /&gt;
a virus scanner (with ntfs support and easy to use menu)&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Recovery Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Active Partition Recovery 3.0&lt;br /&gt;
To Recover a Deleted partition.&lt;br /&gt;
&lt;br /&gt;
Active Uneraser 3.0&lt;br /&gt;
To recover deleted files and folders on FAT and NTFS systems.&lt;br /&gt;
&lt;br /&gt;
Ontrack Easy Recovery Pro 6.10&lt;br /&gt;
To Recover data that has been deleted/virus attack&lt;br /&gt;
&lt;br /&gt;
Winternals Disk Commander 1.1&lt;br /&gt;
more than just a standard deleted-file recovery utility&lt;br /&gt;
&lt;br /&gt;
TestDisk 6.10&lt;br /&gt;
Tool to check and undelete partition.&lt;br /&gt;
&lt;br /&gt;
Lost &amp;amp; Found 1.06&lt;br /&gt;
a good old data recovery software.&lt;br /&gt;
&lt;br /&gt;
DiyDataRecovery Diskpatch 2.1.100&lt;br /&gt;
An excellent data recovery software.&lt;br /&gt;
&lt;br /&gt;
Prosoft Media Tools 5.0 1.1.2.64&lt;br /&gt;
Another excellent data recovery software with many other options.&lt;br /&gt;
&lt;br /&gt;
PhotoRec 6.10&lt;br /&gt;
File and pictures recovery Tool.&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Testing Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
System Speed Test 4.78&lt;br /&gt;
it tests CPU, harddrive, ect.&lt;br /&gt;
&lt;br /&gt;
PC-Check 6.5&lt;br /&gt;
Easy to use hardware tests&lt;br /&gt;
&lt;br /&gt;
Ontrack Data Advisor 5.0&lt;br /&gt;
Powerful diagnostic tool for assessing the condition of your computer&lt;br /&gt;
&lt;br /&gt;
The Troubleshooter 7.02&lt;br /&gt;
all kind of hardware testing tool&lt;br /&gt;
&lt;br /&gt;
PC Doctor 2004&lt;br /&gt;
a benchmarking and information tool&lt;br /&gt;
&lt;br /&gt;
CPU/Video/Disk Performance Test 5.7&lt;br /&gt;
a tool to test cpu, video, and disk&lt;br /&gt;
&lt;br /&gt;
Test Hard Disk Drive 1.0&lt;br /&gt;
a tool to test Hard Disk Drive&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
RAM (Memory) Testing Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
GoldMemory 5.07&lt;br /&gt;
RAM Test utility&lt;br /&gt;
&lt;br /&gt;
Memtest86+ 2.11&lt;br /&gt;
PC Memory Test&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Hard Disk Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Hard Disk Diagnostic Utilities&lt;br /&gt;
Seagate Seatools Desktop Edition 3.02&lt;br /&gt;
Western Digital Data Lifeguard Tools&lt;br /&gt;
Western Digital Diagnostics (DLGDIAG) 5.04f&lt;br /&gt;
Maxtor PowerMax 4.23&lt;br /&gt;
Maxtor amset utility 4.0&lt;br /&gt;
Maxtor(or any Hdd) Low Level Formatter 1.1&lt;br /&gt;
Fujitsu HDD Diagnostic Tool 7.00&lt;br /&gt;
Fujitsu IDE Low Level Format 1.0&lt;br /&gt;
Samsung HDD Utility(HUTIL) 2.10&lt;br /&gt;
Samsung Disk Diagnose (SHDIAG) 1.28&lt;br /&gt;
IBM/Hitachi Drive Fitness Test 4.11&lt;br /&gt;
IBM/Hitachi Feature Tool 2.11&lt;br /&gt;
Gateway GwScan 5.12&lt;br /&gt;
ExcelStor's ESTest 4.50&lt;br /&gt;
MHDD 4.6&lt;br /&gt;
WDClear 1.30&lt;br /&gt;
Toshiba Hard Disk Diagnostic 2.00b&lt;br /&gt;
SeaTools for Dos 1.10&lt;br /&gt;
&lt;br /&gt;
HDD Regenerator 1.51&lt;br /&gt;
to recover a bad hard drive&lt;br /&gt;
&lt;br /&gt;
Ontrack Disk Manager 9.57&lt;br /&gt;
Disk Test/Format/Maintenance tool.&lt;br /&gt;
&lt;br /&gt;
Norton Disk Doctor 2002&lt;br /&gt;
a tool to repair a damaged disk, or to diagnose your hard drive.&lt;br /&gt;
&lt;br /&gt;
Norton Disk Editor 2002&lt;br /&gt;
a powerful disk editing, manual data recovery tool.&lt;br /&gt;
&lt;br /&gt;
Hard Disk Sentinel 0.02&lt;br /&gt;
Hard Disk health, performance and temperature monitoring tool.&lt;br /&gt;
&lt;br /&gt;
Active Kill Disk 4.1&lt;br /&gt;
Securely overwrites and destroys all data on physical drive.&lt;br /&gt;
&lt;br /&gt;
HDAT2 4.53&lt;br /&gt;
main function is testing and repair (regenerates) bad sectors for detected devices&lt;br /&gt;
&lt;br /&gt;
SmartUDM 2.00&lt;br /&gt;
Hard Disk Drive S.M.A.R.T. Viewer.&lt;br /&gt;
&lt;br /&gt;
Victoria 3.33e and 3.52rus&lt;br /&gt;
a freeware program for low-level HDD diagnostics&lt;br /&gt;
&lt;br /&gt;
HDD Erase 4.0&lt;br /&gt;
Secure erase using a special feature built into most newer hard drives&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
System Information Tools&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Aida16 2.14&lt;br /&gt;
a system information tool, extracts details of all components of the PC&lt;br /&gt;
&lt;br /&gt;
PCI and AGP info Tool (3012)&lt;br /&gt;
The PCI System information &amp;amp; Exploration tool.&lt;br /&gt;
&lt;br /&gt;
System Analyser 5.3u&lt;br /&gt;
View extensive information about your hardware&lt;br /&gt;
&lt;br /&gt;
Navratil Software System Information 0.60.32&lt;br /&gt;
High-end professional system information tool&lt;br /&gt;
&lt;br /&gt;
Astra 5.41&lt;br /&gt;
Advanced System info Tool and Reporting Assistant&lt;br /&gt;
&lt;br /&gt;
HWiNFO 5.2.5&lt;br /&gt;
a powerful system information utility&lt;br /&gt;
&lt;br /&gt;
PC-Config 9.33&lt;br /&gt;
Complete hardware detection of your computer&lt;br /&gt;
&lt;br /&gt;
SysChk 2.46&lt;br /&gt;
Find out exactly what is under the hood of your PC&lt;br /&gt;
&lt;br /&gt;
CPU Identification utility 1.15&lt;br /&gt;
Detailed information on CPU (CHKCPU.EXE)&lt;br /&gt;
&lt;br /&gt;
CTIA CPU Information 2.7&lt;br /&gt;
another CPU information tool &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=UQ11DGSE"&gt;|    Part 01     |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=A29SWSTC"&gt;|     Part 02      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=S786GXYI"&gt;|     Part 03      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=ONSDCRZX"&gt;|     Part 04      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=FH0Q3UH0"&gt;|     Part 05      |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/hirens-bootcd-9.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-3745136099575832382</guid><pubDate>Tue, 10 Mar 2009 04:29:00 +0000</pubDate><atom:updated>2012-06-21T08:40:45.880+07:00</atom:updated><title>Hiren's BootCD 9.4</title><description>Hiren's BootCD 9.4&lt;br /&gt;
All in one Dos Bootable CD which has all these utilities&lt;br /&gt;
&lt;br /&gt;
Partition Tools&lt;br /&gt;
&lt;br /&gt;
Partition Magic Pro 8.05&lt;br /&gt;
Best software to partition hard drive&lt;br /&gt;
&lt;br /&gt;
Acronis Disk Director Suite 9.0.554&lt;br /&gt;
Popular disk management functions in a single suite&lt;br /&gt;
&lt;br /&gt;
Paragon Partition Manager 7.0.1274&lt;br /&gt;
Universal tool for partitions&lt;br /&gt;
&lt;br /&gt;
Partition Commander 9.01&lt;br /&gt;
The safe way to partition your hard drive,with undo feature&lt;br /&gt;
&lt;br /&gt;
Ranish Partition Manager 2.44&lt;br /&gt;
a boot manager and hard disk partitioner.&lt;br /&gt;
&lt;br /&gt;
The Partition Resizer 1.3.4&lt;br /&gt;
move and resize your partitions in one step and more.&lt;br /&gt;
&lt;br /&gt;
Smart Fdisk 2.05&lt;br /&gt;
a simple harddisk partition manager&lt;br /&gt;
&lt;br /&gt;
SPecial Fdisk 2000.03t&lt;br /&gt;
SPFDISK a partition tool.&lt;br /&gt;
&lt;br /&gt;
eXtended Fdisk 0.9.3&lt;br /&gt;
XFDISK allows easy partition creation and edition&lt;br /&gt;
&lt;br /&gt;
GDisk 1.1.1&lt;br /&gt;
Complete replacement for the DOS FDISK utility and more.&lt;br /&gt;
&lt;br /&gt;
Super Fdisk 1.0&lt;br /&gt;
Create, delete, format partitions drives without destroying data.&lt;br /&gt;
Disk Clone Tools&lt;br /&gt;
&lt;br /&gt;
ImageCenter 5.6 (Drive Image 2002)&lt;br /&gt;
Best software to clone hard drive&lt;br /&gt;
&lt;br /&gt;
Norton Ghost 11.0.1&lt;br /&gt;
Similar to Drive Image (with usb/scsi support)&lt;br /&gt;
&lt;br /&gt;
Acronis True Image 8.1.945&lt;br /&gt;
Create an exact disk image for complete system backup and disk cloning.&lt;br /&gt;
&lt;br /&gt;
Partition Saving 3.50&lt;br /&gt;
A tool to backup/restore partitions. (SavePart.exe)&lt;br /&gt;
&lt;br /&gt;
COPYR.DMA Build013&lt;br /&gt;
A Tool for making copies of hard disks with bad sectors&lt;br /&gt;
Antivirus Tools&lt;br /&gt;
&lt;br /&gt;
F-Prot Antivirus 3.16f (1602)&lt;br /&gt;
Very good virus scanner (with ntfs support and easy to use menu)&lt;br /&gt;
&lt;br /&gt;
McAfee Antivirus 4.4.50 (1602)&lt;br /&gt;
a virus scanner (with ntfs support and easy to use menu)&lt;br /&gt;
Recovery Tools&lt;br /&gt;
&lt;br /&gt;
Active Partition Recovery 3.0&lt;br /&gt;
To Recover a Deleted partition.&lt;br /&gt;
&lt;br /&gt;
Active Uneraser 3.0&lt;br /&gt;
To recover deleted files and folders on FAT and NTFS systems.&lt;br /&gt;
&lt;br /&gt;
Ontrack Easy Recovery Pro 6.10&lt;br /&gt;
To Recover data that has been deleted/virus attack&lt;br /&gt;
&lt;br /&gt;
Winternals Disk Commander 1.1&lt;br /&gt;
more than just a standard deleted-file recovery utility&lt;br /&gt;
&lt;br /&gt;
TestDisk 6.9b&lt;br /&gt;
Tool to check and undelete partition.&lt;br /&gt;
&lt;br /&gt;
Lost &amp;amp; Found 1.06&lt;br /&gt;
a good old data recovery software.&lt;br /&gt;
&lt;br /&gt;
DiyDataRecovery Diskpatch 2.1.100&lt;br /&gt;
An excellent data recovery software.&lt;br /&gt;
&lt;br /&gt;
Prosoft Media Tools 5.0 v1.1.2.64&lt;br /&gt;
Another excellent data recovery software with many other options.&lt;br /&gt;
&lt;br /&gt;
PhotoRec 6.9b&lt;br /&gt;
File and pictures recovery Tool.&lt;br /&gt;
Testing Tools&lt;br /&gt;
&lt;br /&gt;
System Speed Test 4.78&lt;br /&gt;
it tests CPU, harddrive, ect.&lt;br /&gt;
&lt;br /&gt;
PC-Check 6.5&lt;br /&gt;
Easy to use hardware tests&lt;br /&gt;
&lt;br /&gt;
Ontrack Data Advisor 5.0&lt;br /&gt;
Powerful diagnostic tool for assessing the condition of your computer&lt;br /&gt;
&lt;br /&gt;
The Troubleshooter 7.02&lt;br /&gt;
all kind of hardware testing tool&lt;br /&gt;
&lt;br /&gt;
PC Doctor 2004&lt;br /&gt;
a benchmarking and information tool&lt;br /&gt;
&lt;br /&gt;
Test Cpu/Video/Disk 5.6&lt;br /&gt;
a tool to test cpu, video, and disk&lt;br /&gt;
&lt;br /&gt;
Test Hard Disk Drive 1.0&lt;br /&gt;
a tool to test Hard Disk Drive&lt;br /&gt;
RAM (Memory) Testing Tools&lt;br /&gt;
&lt;br /&gt;
DocMemory 3.1b&lt;br /&gt;
RAM Test utility&lt;br /&gt;
&lt;br /&gt;
GoldMemory 5.07&lt;br /&gt;
RAM Test utility&lt;br /&gt;
&lt;br /&gt;
Memtest86+ 2.00&lt;br /&gt;
PC Memory Test&lt;br /&gt;
Hard Disk Tools&lt;br /&gt;
&lt;br /&gt;
Hard Disk Diagnostic Utilities&lt;br /&gt;
Seagate Seatools Desktop Edition 3.02&lt;br /&gt;
Western Digital Data Lifeguard Tools&lt;br /&gt;
Western Digital Diagnostics (DLGDIAG) 5.04f&lt;br /&gt;
Maxtor PowerMax 4.23&lt;br /&gt;
Maxtor amset utility 4.0&lt;br /&gt;
Maxtor(or any Hdd) Low Level Formatter 1.1&lt;br /&gt;
Fujitsu HDD Diagnostic Tool 7.00&lt;br /&gt;
Fujitsu IDE Low Level Format 1.0&lt;br /&gt;
Samsung HDD Utility(HUTIL) 2.04&lt;br /&gt;
Samsung Disk Diagnose (SHDIAG) 1.28&lt;br /&gt;
IBM/Hitachi Drive Fitness Test 4.11&lt;br /&gt;
IBM/Hitachi Feature Tool 2.08&lt;br /&gt;
Gateway GwScan 5.12&lt;br /&gt;
ExcelStor's ESTest 4.20&lt;br /&gt;
MHDD 4.6&lt;br /&gt;
WDClear 1.30&lt;br /&gt;
Toshiba Hard Disk Diagnostic 2.00b&lt;br /&gt;
SeaTools for Dos 1.09&lt;br /&gt;
&lt;br /&gt;
HDD Regenerator 1.51&lt;br /&gt;
to recover a bad hard drive&lt;br /&gt;
&lt;br /&gt;
HDAT2 4.6b&lt;br /&gt;
main function is testing and repair (regenerates) bad sectors for detected devices&lt;br /&gt;
&lt;br /&gt;
Ontrack Disk Manager 9.57&lt;br /&gt;
Disk Test/Format/Maintenance tool.&lt;br /&gt;
&lt;br /&gt;
Norton Disk Doctor 2002&lt;br /&gt;
a tool to repair a damaged disk, or to diagnose your hard drive.&lt;br /&gt;
&lt;br /&gt;
Norton Disk Editor 2002&lt;br /&gt;
a powerful disk editing, manual data recovery tool.&lt;br /&gt;
&lt;br /&gt;
Hard Disk Sentinel 0.01&lt;br /&gt;
Hard Disk health, performance and temperature monitoring tool.&lt;br /&gt;
&lt;br /&gt;
Active Kill Disk 4.1&lt;br /&gt;
Securely overwrites and destroys all data on physical drive.&lt;br /&gt;
&lt;br /&gt;
SmartUDM 2.00&lt;br /&gt;
Hard Disk Drive S.M.A.R.T. Viewer.&lt;br /&gt;
&lt;br /&gt;
Victoria 3.33e and 3.52rus&lt;br /&gt;
a freeware program for low-level HDD diagnostics&lt;br /&gt;
&lt;br /&gt;
HDD Eraser 1.0&lt;br /&gt;
Secure erase using a special feature built into most newer hard drives&lt;br /&gt;
System Information Tools&lt;br /&gt;
&lt;br /&gt;
Aida16 2.14&lt;br /&gt;
a system information tool, extracts details of all components of the PC&lt;br /&gt;
&lt;br /&gt;
PCI and AGP info Tool (1602)&lt;br /&gt;
The PCI System information &amp;amp; Exploration tool.&lt;br /&gt;
&lt;br /&gt;
System Analyser 5.3t&lt;br /&gt;
View extensive information about your hardware&lt;br /&gt;
&lt;br /&gt;
Navratil Software System Information 0.59.16&lt;br /&gt;
High-end professional system information tool&lt;br /&gt;
&lt;br /&gt;
Astra 5.34&lt;br /&gt;
Advanced System info Tool and Reporting Assistant&lt;br /&gt;
&lt;br /&gt;
HwInfo 5.1.0&lt;br /&gt;
a powerful system information utility&lt;br /&gt;
&lt;br /&gt;
PC-Config 9.33&lt;br /&gt;
Complete hardware detection of your computer&lt;br /&gt;
&lt;br /&gt;
SysChk 2.46&lt;br /&gt;
Find out exactly what is under the hood of your PC&lt;br /&gt;
&lt;br /&gt;
CPU Identification utility 1.12&lt;br /&gt;
Detailed information on CPU (CHKCPU.EXE)&lt;br /&gt;
&lt;br /&gt;
CTIA CPU Information&lt;br /&gt;
another CPU information tool&lt;br /&gt;
MBR (Master Boot Record) Tools&lt;br /&gt;
&lt;br /&gt;
MBRWork 1.07b&lt;br /&gt;
a utility to perform some common and uncommon MBR functions&lt;br /&gt;
&lt;br /&gt;
MBR Tool 2.2.100&lt;br /&gt;
backup, verify, restore, edit, refresh, remove, display, re-write...&lt;br /&gt;
&lt;br /&gt;
DiskMan4&lt;br /&gt;
all in one tool for cmos, bios, bootrecord and more&lt;br /&gt;
&lt;br /&gt;
BootFix Utility&lt;br /&gt;
Run this utility if you get 'Invalid system disk'&lt;br /&gt;
&lt;br /&gt;
MBR SAVE / RESTORE 2.1&lt;br /&gt;
BootSave and BootRest tools to save / restore MBR&lt;br /&gt;
&lt;br /&gt;
Boot Partition 2.60&lt;br /&gt;
add Partition in the Windows NT/2000/XP Multi-boot loader&lt;br /&gt;
&lt;br /&gt;
Partition Table Doctor 3.5&lt;br /&gt;
a tool to repair/modify mbr, bootsector, partition table&lt;br /&gt;
&lt;br /&gt;
Smart Boot Manager 3.7.1&lt;br /&gt;
a multi boot manager&lt;br /&gt;
&lt;br /&gt;
Bootmagic 8.0&lt;br /&gt;
This tool is for multi boot operating systems&lt;br /&gt;
&lt;br /&gt;
MBRWizard 2.0b&lt;br /&gt;
Directly update and modify the MBR (Master Boot Record)&lt;br /&gt;
BIOS / CMOS Tools&lt;br /&gt;
&lt;br /&gt;
CMOS 0.93&lt;br /&gt;
CMOS Save / Restore Tool&lt;br /&gt;
&lt;br /&gt;
BIOS Cracker 4.8&lt;br /&gt;
BIOS password remover (cmospwd)&lt;br /&gt;
&lt;br /&gt;
BIOS Cracker 1.4&lt;br /&gt;
BIOS password remover (cmospwc)&lt;br /&gt;
&lt;br /&gt;
BIOS Utility 1.35.0&lt;br /&gt;
BIOS Informations, password, beep codes and more.&lt;br /&gt;
&lt;br /&gt;
!BIOS 3.20&lt;br /&gt;
a powerfull utility for bios and cmos&lt;br /&gt;
&lt;br /&gt;
DISKMAN4&lt;br /&gt;
a powerful all in one utility&lt;br /&gt;
&lt;br /&gt;
UniFlash 1.40&lt;br /&gt;
bios flash utility&lt;br /&gt;
&lt;br /&gt;
Kill CMOS&lt;br /&gt;
a tiny utility to wipe cmos&lt;br /&gt;
&lt;br /&gt;
Award DMI Configuration Utility 2.43&lt;br /&gt;
DMI Configuration utility for modifying/viewing the MIDF contents.&lt;br /&gt;
MultiMedia Tools&lt;br /&gt;
&lt;br /&gt;
Picture Viewer 1.94&lt;br /&gt;
Picture viewer for dos, supports more then 40 filetypes.&lt;br /&gt;
&lt;br /&gt;
QuickView Pro 2.58&lt;br /&gt;
movie viewer for dos, supports many format including divx.&lt;br /&gt;
&lt;br /&gt;
MpxPlay 1.56&lt;br /&gt;
a small Music Player for dos&lt;br /&gt;
Password Tools&lt;br /&gt;
&lt;br /&gt;
Active Password Changer 3.0.420&lt;br /&gt;
To Reset User Password on windows NT/2000/XP/2003/Vista (FAT/NTFS)&lt;br /&gt;
&lt;br /&gt;
Offline NT/2K/XP Password Changer&lt;br /&gt;
utility to reset windows nt/2000/xp administrator/user password.&lt;br /&gt;
&lt;br /&gt;
Registry Reanimator 1.02&lt;br /&gt;
Check and Restore structure of the Damaged Registry files of NT/2K/XP&lt;br /&gt;
&lt;br /&gt;
NTPWD&lt;br /&gt;
utility to reset windows nt/2000/xp administrator/user password.&lt;br /&gt;
&lt;br /&gt;
Registry Viewer 4.2&lt;br /&gt;
Registry Viewer/Editor for Win9x/Me/NT/2K/XP&lt;br /&gt;
&lt;br /&gt;
ATAPWD 1.2&lt;br /&gt;
Hard Disk Password Utility&lt;br /&gt;
NTFS (FileSystems) Tools&lt;br /&gt;
&lt;br /&gt;
NTFS Dos Pro 5.0&lt;br /&gt;
To access ntfs partitions from Dos&lt;br /&gt;
&lt;br /&gt;
NTFS 4 Dos 1.9&lt;br /&gt;
To access ntfs partitions from Dos&lt;br /&gt;
&lt;br /&gt;
Paragon Mount Everything 3.0&lt;br /&gt;
To access NTFS, Ext2FS, Ext3FS partitions from dos&lt;br /&gt;
&lt;br /&gt;
NTFS Dos 3.02&lt;br /&gt;
To access ntfs partitions from Dos&lt;br /&gt;
&lt;br /&gt;
EditBINI 1.01&lt;br /&gt;
to Edit boot.ini on NTFS Partition&lt;br /&gt;
Dos File Managers&lt;br /&gt;
&lt;br /&gt;
Volkov Commander 4.99&lt;br /&gt;
Dos File Manager with LongFileName/ntfs support&lt;br /&gt;
(Similar to Norton Commander)&lt;br /&gt;
&lt;br /&gt;
Dos Command Center 5.1&lt;br /&gt;
Classic dos-based file manager.&lt;br /&gt;
&lt;br /&gt;
File Wizard 1.35&lt;br /&gt;
a file manager - colored files, drag and drop copy, move, delete etc.&lt;br /&gt;
&lt;br /&gt;
File Maven 3.5&lt;br /&gt;
an advanced Dos file manager with high speed PC-to-PC file&lt;br /&gt;
transfers via serial or parallel cable&lt;br /&gt;
&lt;br /&gt;
FastLynx 2.0&lt;br /&gt;
Dos file manager with Pc to Pc file transfer capability&lt;br /&gt;
&lt;br /&gt;
LapLink 5.0&lt;br /&gt;
the smart way to transfer files and directories between PCs.&lt;br /&gt;
&lt;br /&gt;
Dos Navigator 6.4.0&lt;br /&gt;
Dos File Manager, Norton Commander clone but has much more features.&lt;br /&gt;
&lt;br /&gt;
Mini Windows 98&lt;br /&gt;
Can run from Ram Drive, with ntfs support,&lt;br /&gt;
Added 7-Zip which supports .7z .zip .cab .rar .arj .gzip,&lt;br /&gt;
.bzip2 .z .tar .cpio .rpm and .deb&lt;br /&gt;
Disk Defragmenter, Notepad / RichText Editor,&lt;br /&gt;
Image Viewer, .avi .mpg .divx .xvid Movie Player, etc...&lt;br /&gt;
Other Tools&lt;br /&gt;
&lt;br /&gt;
Ghost Walker 2003.793&lt;br /&gt;
utility that changes the security ID (SID) for Windows NT, 2000 and XP&lt;br /&gt;
&lt;br /&gt;
DosCDroast beta 2&lt;br /&gt;
Dos CD Burning Tools&lt;br /&gt;
&lt;br /&gt;
Universal TCP/IP Network 6.2&lt;br /&gt;
MSDOS Network Client to connect via TCP/IP to a Microsoft based&lt;br /&gt;
network. The network can either be a peer-to-peer or a server based&lt;br /&gt;
network, it contains 91 different network card drivers&lt;br /&gt;
Dos Tools&lt;br /&gt;
&lt;br /&gt;
USB CD-Rom Driver 1&lt;br /&gt;
Standard usb_cd.sys driver for cd drive&lt;br /&gt;
&lt;br /&gt;
Universal USB Driver 2&lt;br /&gt;
Panasonic v2.20 ASPI Manager for USB mass storage&lt;br /&gt;
&lt;br /&gt;
ASUSTeK USB Driver 3&lt;br /&gt;
ASUS USB CD-ROM Device Driver Version 1.00&lt;br /&gt;
&lt;br /&gt;
SCSI Support&lt;br /&gt;
SCSI Drivers for Dos&lt;br /&gt;
&lt;br /&gt;
SATA Support&lt;br /&gt;
SATA Driver (gcdrom.sys) and JMicron JMB361 (xcdrom.sys) for Dos&lt;br /&gt;
&lt;br /&gt;
1394 Firewire Support&lt;br /&gt;
1394 Firewire Drivers for Dos&lt;br /&gt;
&lt;br /&gt;
Interlnk support at COM1&lt;br /&gt;
To access another computer from COM port&lt;br /&gt;
&lt;br /&gt;
Interlnk support at LPT1&lt;br /&gt;
To access another computer from LPT port&lt;br /&gt;
&lt;br /&gt;
and too many great dos tools&lt;br /&gt;
very good collection of dos utilities&lt;br /&gt;
extract.exe pkzip.exe pkunzip.exe unrar.exe rar.exe&lt;br /&gt;
ace.exe lha.exe gzip.exe uharcd.exe mouse.com&lt;br /&gt;
attrib.com deltree.exe xcopy.exe diskcopy.com imgExtrc.exe&lt;br /&gt;
undelete.com edit.com fdisk.exe fdisk2.exe fdisk3.exe&lt;br /&gt;
lf.exe delpart.exe wipe.com zap.com format.com&lt;br /&gt;
move.exe more.com find.exe hex.exe debug.exe&lt;br /&gt;
split.exe mem.exe mi.com sys.com smartdrv.exe&lt;br /&gt;
xmsdsk.exe killer.exe share.exe scandisk.exe scanreg.exe&lt;br /&gt;
guest.exe doskey.exe duse.exe biosdtct.exe setver.exe&lt;br /&gt;
intersvr.exe interlnk.exe loadlin.exe lfndos.exe doslfn.com&lt;br /&gt;
&lt;br /&gt;
Windows Tools&lt;br /&gt;
&lt;br /&gt;
SpaceMonger 1.4&lt;br /&gt;
keeping track of the free space on your computer&lt;br /&gt;
&lt;br /&gt;
WinDirStat 1.1.2.80&lt;br /&gt;
a disk usage statistics viewer and cleanup tool for Windows.&lt;br /&gt;
&lt;br /&gt;
Drive Temperature 1.0&lt;br /&gt;
Hard Disk Drive temperature meter&lt;br /&gt;
&lt;br /&gt;
Disk Speed1.0&lt;br /&gt;
Hard Disk Drive Speed Testing Tool&lt;br /&gt;
&lt;br /&gt;
MemTest 1.0&lt;br /&gt;
a Memory Testing Tool&lt;br /&gt;
&lt;br /&gt;
S&amp;amp;M Stress Test 1.9.1&lt;br /&gt;
cpu/hdd/memory benchmarking and information tool, including temperatures/fan speeds/voltages&lt;br /&gt;
&lt;br /&gt;
PageDfrg 2.32&lt;br /&gt;
System file Defragmenter For NT/2k/XP&lt;br /&gt;
&lt;br /&gt;
WhitSoft File Splitter 4.5a&lt;br /&gt;
a Small File Split-Join Tool&lt;br /&gt;
&lt;br /&gt;
Ghost Image Explorer 11.0.1&lt;br /&gt;
to add/remove/extract files from Ghost image file&lt;br /&gt;
&lt;br /&gt;
DriveImage Explorer 5.0&lt;br /&gt;
to add/remove/extract files from Drive image file&lt;br /&gt;
&lt;br /&gt;
Drive SnapShot 1.38&lt;br /&gt;
creates an exact Disk Image of your system into a file while windows is running.&lt;br /&gt;
&lt;br /&gt;
Active Undelete 5.5&lt;br /&gt;
a tool to recover deleted files&lt;br /&gt;
&lt;br /&gt;
Restoration 2.5.14&lt;br /&gt;
a tool to recover deleted files&lt;br /&gt;
&lt;br /&gt;
GetDataBack for FAT 2.31&lt;br /&gt;
Data recovery software for FAT file systems&lt;br /&gt;
&lt;br /&gt;
GetDataBack for NTFS 2.31&lt;br /&gt;
Data recovery software for NTFS file systems&lt;br /&gt;
&lt;br /&gt;
Recuva 1.10.223&lt;br /&gt;
Restore deleted files from Hard Drive, Digital Camera Memory Card, usb mp3 player...&lt;br /&gt;
&lt;br /&gt;
Partition Find and Mount 2.3&lt;br /&gt;
Partition Find and Mount software is designed to find lost or deleted partitions&lt;br /&gt;
&lt;br /&gt;
Unstoppable Copier 3.12&lt;br /&gt;
Allows you to copy files from disks with problems such as bad sectors,&lt;br /&gt;
scratches or that just give errors when reading data.&lt;br /&gt;
&lt;br /&gt;
HDD Scan 2.8&lt;br /&gt;
This is a Low-level HDD diagnostic tool, it scans surface find bad sectors etc.&lt;br /&gt;
&lt;br /&gt;
Express Burn 4.06&lt;br /&gt;
CD/DVD Burner Program to create and record CDs/DVDs, also create/burn .iso and .nrg images&lt;br /&gt;
&lt;br /&gt;
Data Shredder 1.0&lt;br /&gt;
A tool to Erase disk and files (also wipe free space) securely&lt;br /&gt;
&lt;br /&gt;
Startup Control Panel 2.8&lt;br /&gt;
a tool to edit startup programs&lt;br /&gt;
&lt;br /&gt;
NT Registry Optimizer 1.1j&lt;br /&gt;
Registry Optimization for Windows NT/2000/2003/XP/Vista&lt;br /&gt;
&lt;br /&gt;
DefragNT 1.9&lt;br /&gt;
This tool presents the user with many options for disk defragmenting&lt;br /&gt;
&lt;br /&gt;
JkDefrag 3.34&lt;br /&gt;
Free disk defragment and optimize utility for Windows 2000/2003/XP/Vista&lt;br /&gt;
&lt;br /&gt;
Startup Monitor 1.02&lt;br /&gt;
it notifies you when any program registers itself to run at system startup&lt;br /&gt;
&lt;br /&gt;
IB Process Manager 1.04&lt;br /&gt;
a little process manager for 9x/2k, shows dll info etc.&lt;br /&gt;
&lt;br /&gt;
Process Explorer 11.04&lt;br /&gt;
shows you information about which handles and DLLs processes have opened or loaded&lt;br /&gt;
&lt;br /&gt;
Pocket KillBox 2.0.0.978&lt;br /&gt;
can be used to get rid of files that stubbornly refuse to allow you to delete them&lt;br /&gt;
&lt;br /&gt;
Unlocker 1.8.5&lt;br /&gt;
This tool can delete file/folder when you get this message - Cannot delete file:&lt;br /&gt;
Access is denied, The file is in use by another program etc.&lt;br /&gt;
&lt;br /&gt;
HijackThis 2.0.2&lt;br /&gt;
a general homepage hijackers detector and remover and more&lt;br /&gt;
&lt;br /&gt;
RootkitRevealer 1.7&lt;br /&gt;
Rootkit Revealer is an advanced patent-pending root kit detection utility.&lt;br /&gt;
&lt;br /&gt;
Silent Runners Revision 55&lt;br /&gt;
A free script that helps detect spyware, malware and adware in the startup process&lt;br /&gt;
&lt;br /&gt;
Autoruns 9.12&lt;br /&gt;
Displays All the entries from startup folder, Run, RunOnce, and other Registry keys,&lt;br /&gt;
Explorer shell extensions,toolbars, browser helper objects, Winlogon notifications,&lt;br /&gt;
auto-start services, Scheduled Tasks, Winsock, LSA Providers, Remove Drivers&lt;br /&gt;
and much more which helps to remove nasty spyware/adware and viruses.&lt;br /&gt;
&lt;br /&gt;
Dial a Fix 0.60.0.24&lt;br /&gt;
Fix errors and problems with COM/ActiveX object errors and missing registry entries,&lt;br /&gt;
Automatic Updates, SSL, HTTPS, and Cryptography service (signing/verification)&lt;br /&gt;
issues, Reinstall internet explorer etc. comes with the policy scanner&lt;br /&gt;
&lt;br /&gt;
CurrPort 1.20&lt;br /&gt;
displays the list of all currently opened TCP and UDP ports on your computer&lt;br /&gt;
&lt;br /&gt;
Unknown Devices 1.2 (1602)&lt;br /&gt;
helps you find what those unknown devices in Device Manager really are&lt;br /&gt;
&lt;br /&gt;
PCI 32 Sniffer 1.4 (1602)&lt;br /&gt;
device information tool (similar to unknown devices)&lt;br /&gt;
&lt;br /&gt;
NewSID 4.10&lt;br /&gt;
utility that changes the security ID (SID) for Windows NT, 2000 and XP&lt;br /&gt;
&lt;br /&gt;
Double Driver 1.0&lt;br /&gt;
Driver Backup and Restore tool&lt;br /&gt;
&lt;br /&gt;
DriverBackup! 1.0.3&lt;br /&gt;
Another handy tool to backup drivers&lt;br /&gt;
&lt;br /&gt;
CPU-Z 1.44&lt;br /&gt;
It gathers information on some of the main devices of your system&lt;br /&gt;
&lt;br /&gt;
CWShredder 2.19&lt;br /&gt;
Popular CoolWebSearch Trojan Remover tool&lt;br /&gt;
&lt;br /&gt;
SmitFraudFix 2.289&lt;br /&gt;
This removes Some of the popular Desktop Hijack malware&lt;br /&gt;
&lt;br /&gt;
Winsock 2 Fix for 9x&lt;br /&gt;
to fix corrupted Winsock2 information by poorly written Internet programs&lt;br /&gt;
&lt;br /&gt;
XP TCP/IP Repair 1.0&lt;br /&gt;
Repair your Windows XP Winsock and TCP/IP registry errors&lt;br /&gt;
&lt;br /&gt;
CCleaner 2.04.543&lt;br /&gt;
Crap Cleaner is a freeware system optimization and privacy tool&lt;br /&gt;
&lt;br /&gt;
EzPcFix 1.0.0.16&lt;br /&gt;
Helpful tool when trying to remove viruses, spyware, and malware&lt;br /&gt;
&lt;br /&gt;
Content Advisor Password Remover 1.0&lt;br /&gt;
It Removes Content Advisor Password from Internet Explorer&lt;br /&gt;
&lt;br /&gt;
WinKeyFinder 1.73&lt;br /&gt;
Allows you to View and Change Windows XP/2003 Product Keys, backup and restore&lt;br /&gt;
activation related files, backup Microsoft Office 97, 2000 SP2, XP/2003 keys etc.&lt;br /&gt;
&lt;br /&gt;
ProduKey 1.20&lt;br /&gt;
Recovers lost the product key of your Windows/Office&lt;br /&gt;
&lt;br /&gt;
Wireless Key View 1.15&lt;br /&gt;
Recovers all wireless network keys (WEP/WPA) stored in your computer by WZC&lt;br /&gt;
&lt;br /&gt;
Monitor Tester 1.0&lt;br /&gt;
Allows you to test CRT/LCD/TFT screens for dead pixels and diffective screens&lt;br /&gt;
&lt;br /&gt;
Shell Extensions Manager (ShellExView) 1.19&lt;br /&gt;
An excellent tool to View and Manage all installed Context-menu/Shell extensions&lt;br /&gt;
&lt;br /&gt;
TweakUI 2.10&lt;br /&gt;
This PowerToy gives you access to system settings that are not exposed in the Windows Xp&lt;br /&gt;
&lt;br /&gt;
Xp-AntiSpy 3.96.7&lt;br /&gt;
it tweaks some Windows XP functions, and disables some unneeded Windows services quickly&lt;br /&gt;
&lt;br /&gt;
PC Wizard 2008 1.83&lt;br /&gt;
Powerful system information/benchmark utility designed especially for detection of hardware.&lt;br /&gt;
&lt;br /&gt;
Spybot - Search &amp;amp; Destroy 1.5.2 (1602)&lt;br /&gt;
Application to scan for spyware, adware, hijackers and other malicious software.&lt;br /&gt;
&lt;br /&gt;
SpywareBlaster 3.5.1 (1602)&lt;br /&gt;
Prevent the installation of spyware and other potentially unwanted software.&lt;br /&gt;
&lt;br /&gt;
Ad-Aware SE Personal 1.06 (1602)&lt;br /&gt;
find and remove spyware, adware, dialers etc. (a must have tool)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=7IL75WLP"&gt;|    Part 01     |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=1D4R87LL"&gt;|     Part 02      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=B3KFO5XQ"&gt;|     Part 03      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=OH8NCYBT"&gt;|     Part 04      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=ZUKSM2I9"&gt;|     Part 05      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=IYC5KBCF"&gt;|     Part 06      |&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=E6Y6BTVY"&gt;|     Part 07      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=09YI53ZH"&gt;|     Part 08      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=P4LTHHXR"&gt;|     Part 09      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=FPTD9790"&gt;|     Part 10      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=VT9VRZ7P"&gt;|     Part 11      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=VTKLKFI7"&gt;|     Part 12      |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/hirens-boot-cd-is-boot-cd-containing.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-5999828024567473290</guid><pubDate>Wed, 04 Mar 2009 17:54:00 +0000</pubDate><atom:updated>2012-06-21T08:40:55.051+07:00</atom:updated><title>Microsoft Office 2003 Full</title><description>Microsoft Office 2003 Full 5 in 1:&lt;br /&gt;
OFFICE 2003&lt;br /&gt;
FRONTPAGE 2003&lt;br /&gt;
VISIO 2003&lt;br /&gt;
PROJECT PROFESSIONAL 2003&lt;br /&gt;
ONENOTE 2003&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=ZLIF35GV"&gt;| Part 01 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=H9P08M2J"&gt;| Part 02 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=E5O8HWCS"&gt;| Part 03 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=790CBQMW"&gt;| Part 04 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=U7YD9CKV"&gt;| Part 05 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=U7YD9CKV"&gt;| Part 06 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=1XYBO71W"&gt;| Part 07 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=SQC9WQ6Z"&gt;| Part 08 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=2UOCCJ69"&gt;| Part 09 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=UR35C4NU"&gt;| Part 10 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=8U8WMOUO"&gt;| Part 11 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=U7JM7DCA"&gt;| Part 12 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=713Q0QCG"&gt;| Part 13 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=WLXPL5QB"&gt;| Part 14 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=HQKO4C7T"&gt;| Part 15 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=GJFBWQZ8"&gt;| Part 16 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=GAH606A7"&gt;| Part 17 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=HRG44RJO"&gt;| Part 18 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=HC1QU88Y"&gt;| Part 19 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=3M4M52UW"&gt;| Part 20 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=BTUPL69C"&gt;| Part 21 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=490L4DSK"&gt;| Part 22 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=BJCU4C8R"&gt;| Part 23 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=PDZB4WCT"&gt;| Part 24 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=E4J7JXD2"&gt;| Part 25 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=2AFYIE2K"&gt;| Part 26 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=QXIIREML"&gt;| Part 27 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/microsoft-office-2003-full-5-in-1-part.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-2039413188598586712</guid><pubDate>Wed, 04 Mar 2009 05:47:00 +0000</pubDate><atom:updated>2012-06-21T08:41:05.993+07:00</atom:updated><title>Hirens.BootCD.9.6.with.keyboard.patch</title><description>Hiren’s Boot CD is a boot CD containing various diagnostic programs such as partitioning agents, system performance benchmarks, disk cloning and imaging tools, data recovery tools, MBR tools, BIOS tools, and many others for fixing various computer problems. It is a Bootable CD; thus, it can be useful even if the primary operating system cannot be booted. Hiren’s Boot CD has an extensive list of software. Utilities with similar functionality on the CD are grouped together and seem redundant; however, they present choices through UI differences.&lt;br /&gt;
&lt;br /&gt;
—————————————-&lt;br /&gt;
Changes from Hiren’s BootCD 9.5 &amp;gt; 9.6&lt;br /&gt;
—————————————-&lt;br /&gt;
+ HDTune 2.55&lt;br /&gt;
+ SIW 2008-09-03&lt;br /&gt;
+ Active NTFS Reader Dos 1.0.2&lt;br /&gt;
+ 7-Zip 4.57&lt;br /&gt;
- F-Prot Antivirus&lt;br /&gt;
CPU/Video/Disk Performance Test 5.7&lt;br /&gt;
Ghost 11.5&lt;br /&gt;
GhostExp.Exe 11.5&lt;br /&gt;
Ghost Walker 11.5&lt;br /&gt;
HDD Erase 4.0&lt;br /&gt;
CTIA CPU Information 2.7&lt;br /&gt;
TestDisk 6.10&lt;br /&gt;
PhotoRec 6.10&lt;br /&gt;
IBM/Hitachi Drive Fitness Test 4.14&lt;br /&gt;
IBM/Hitachi Feature Tool 2.11&lt;br /&gt;
SeaTools for Dos 1.10&lt;br /&gt;
Hard Disk Sentinel 0.02&lt;br /&gt;
System Analyser 5.3u&lt;br /&gt;
Navratil Software System Information 0.60.32&lt;br /&gt;
Astra 5.40&lt;br /&gt;
HWiNFO 5.2.2&lt;br /&gt;
Drive SnapShot 1.39&lt;br /&gt;
Recuva 1.19.350&lt;br /&gt;
Restoration 3.2.13&lt;br /&gt;
Unstoppable Copier 3.56&lt;br /&gt;
HDD Scan 3.1&lt;br /&gt;
Express Burn 4.15&lt;br /&gt;
JkDefrag 3.36&lt;br /&gt;
Process Explorer 11.21&lt;br /&gt;
Unlocker 1.8.7&lt;br /&gt;
Silent Runners Revision 58&lt;br /&gt;
AutoRuns 9.34&lt;br /&gt;
CurrPorts 1.50&lt;br /&gt;
CPU-Z 1.47&lt;br /&gt;
SmitFraudFix 2.354&lt;br /&gt;
CCleaner 2.12.651&lt;br /&gt;
ProduKey 1.32&lt;br /&gt;
WirelessKeyView 1.18&lt;br /&gt;
ShellExView 1.23&lt;br /&gt;
PC Wizard 2008.1.86&lt;br /&gt;
Spybot - Search &amp;amp; Destroy 1.6 (2909)&lt;br /&gt;
SpywareBlaster 4.1(2909)&lt;br /&gt;
PCI 32 Sniffer 1.4 (2909)&lt;br /&gt;
McAfee Antivirus 4.4.50 (2909)&lt;br /&gt;
Ad-Aware SE Personal 1.06 (2909)&lt;br /&gt;
PCI and AGP info Tool (2909)&lt;br /&gt;
Unknown Devices 1.2 (2909)&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=HKUNHGJ0"&gt;|    Part 01     |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=RCT73MH5"&gt;|     Part 02      |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=RCT73MH5"&gt;|    Part 03       |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/hirensbootcd96withkeyboardpatch.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-7222691954691554418</guid><pubDate>Wed, 04 Mar 2009 05:16:00 +0000</pubDate><atom:updated>2012-06-21T08:41:14.146+07:00</atom:updated><title>Do you want to setup Windows SP2 on Laptop and PC with HDD Sata</title><description>This is CD Setup for Windows SP2 for Laptop and PC with HDD Sata&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=LP05VX2G"&gt;| Part 01 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=M0JP9UZB"&gt;| Part 02 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=7UDNNK0W"&gt;| Part 03 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=NOGK8KTX"&gt;| Part 04 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=MX4DN1Q1"&gt;| Part 05 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=O7DKR8DA"&gt;| Part 06 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=FSCFGVCE"&gt;| Part 07 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=IW4AI8DB"&gt;| Part 08 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=B7C2O118"&gt;| Part 09 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=CFO91HY5"&gt;| Part 10 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=PDW9NC86"&gt;| Part 11 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=WQ0ADEDV"&gt;| Part 12 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.megaupload.com/?d=QGANSVP6"&gt;| Part 13 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=DSFTS8YZ"&gt;| Part 14 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=UOVUZFUH"&gt;| Part 15 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=8S1H3V0N"&gt;| Part 16 |&lt;/a&gt;&lt;a href="http://www.megaupload.com/?d=ZXMU0NKF"&gt;| Part 17 |&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;&lt;br /&gt;&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;
&lt;br&gt;&amp;nbsp; (function() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; po.src = 'https://apis.google.com/js/plusone.js';&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);&lt;br&gt;&amp;nbsp; })();&lt;br&gt;
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/do-you-want-to-setup-windows-sp2-on.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-5924305102338077421</guid><pubDate>Tue, 03 Mar 2009 08:11:00 +0000</pubDate><atom:updated>2012-06-21T08:43:21.930+07:00</atom:updated><title>Remoting in .NET</title><description>&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;
Creating and Consuming .NET&lt;br /&gt;Remoting Objects&lt;br /&gt; Download CD Content &lt;br /&gt;Overview&lt;br /&gt;About This Chapter&lt;br /&gt;Distributed applications help to establish communication between objects running in different processes&lt;br /&gt;located on the same computer or located on computers at different geographic locations. The .NET&lt;br /&gt;Framework provides a set of classes and methods that allow you to establish a connection and&lt;br /&gt;communicate between objects with ease. &lt;br /&gt;With earlier programming infrastructures, creating a distributed application required an in-depth&lt;br /&gt;knowledge of the transmission protocols used in the communication process. Using the .NET&lt;br /&gt;Framework, you can establish communication between objects without having to know about the&lt;br /&gt;protocols or about the encoding and decoding mechanisms involved in the development of a distributed&lt;br /&gt;application. In this chapter, you will learn to create, configure, and secure .NET Remoting objects by&lt;br /&gt;using the classes that the .NET Framework provides.&lt;br /&gt;Before You Begin&lt;br /&gt;To complete the lessons in this chapter, you&lt;br /&gt;Must have knowledge of basic programming in Microsoft Visual Basic .NET and Microsoft&lt;br /&gt;Visual C#&lt;br /&gt;Must have a basic knowledge of distributed programming&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 1: Understanding .NET Remoting&lt;br /&gt;You can use .NET Remoting to enable communication between different applications regardless of&lt;br /&gt;whether they reside on the same computer or on different computers. These computers can be part of the&lt;br /&gt;same network or part of networks in different geographic locations across the world. In addition, these&lt;br /&gt;computers can run different operating systems and still communicate with each other using .NET&lt;br /&gt;Remoting.&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Explain .NET Remoting&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Identify various methods of accessing objects across remoting boundaries&lt;br /&gt;Describe the .NET Remoting architecture&lt;br /&gt;Identify remotable and nonremotable objects&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 35 minutes&lt;br /&gt;&lt;br /&gt;can use a copy of the server object in the client application. The client can then call a method on the&lt;br /&gt;local copy of the server object.&lt;br /&gt;When you are copying objects to the client process, make sure that the objects do not contain a large&lt;br /&gt;number of methods, and that the objects are not large in size. Extremely large objects with many&lt;br /&gt;methods can be poor choices for copying or passing by value to other processes because the client&lt;br /&gt;requires only the values returned by one or a few methods of the server object. Copying an entire server&lt;br /&gt;object to the client process is a waste of client resources, which include bandwidth, memory, and&lt;br /&gt;processing time. In addition, many server objects expose public functionality but require private data on&lt;br /&gt;the server for internal execution.&lt;br /&gt;Warning When you copy server objects, you might enable malicious clients to examine internal server&lt;br /&gt;data, creatin&lt;br /&gt;g the potential for security problems.&lt;br /&gt;It is also inadvisable to copy objects, such as a FileInfo object, to the client process because a FileInfo&lt;br /&gt;object contains a reference to an operating system file, which has a unique address in the memory of the&lt;br /&gt;server process. You can copy this address along with the object, but the address is process-specific and&lt;br /&gt;will not work in another process. In this situation, you pass the server object as a reference to the client&lt;br /&gt;application. The client application uses this reference to call methods on the server object. The remoting&lt;br /&gt;system handles the method call and sends it to the server object. After the method is executed, the result&lt;br /&gt;is returned to the client application.&lt;br /&gt;The .NET Remoting Architecture&lt;br /&gt;To communicate between server objects and clients in .NET Remoting, you need to use object&lt;br /&gt;references of the server object in the client application. When you create an instance of the remote object&lt;br /&gt;new&lt;br /&gt;using the   keyword, your client receives a reference to the server object. After obtaining the object&lt;br /&gt;reference, the client can call methods on the server object as if the object resides in the client’s process&lt;br /&gt;and does not run on a separate computer.&lt;br /&gt;.NET Remoting uses proxy objects to allow the use of the server object in the client process. When you&lt;br /&gt;create an instance of the remote object type in the client application, .NET Remoting creates a proxy&lt;br /&gt;object and sends it to the client application. This proxy object contains references to all the methods and&lt;br /&gt;properties of the server object. When you call a method that is on that proxy object, the remoting system&lt;br /&gt;receives the call, routes it to the server process, invokes the server object, and returns the return value to&lt;br /&gt; shows how a client&lt;br /&gt;the client proxy, which returns the result to the client application. Figure 4.1&lt;br /&gt;communicates with a remote object.&lt;br /&gt; &lt;br /&gt;gure 4.1: Communication between a client and a remote object&lt;br /&gt;Fi&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;To improve performance and reduce processing time, move the complete state of the object and its&lt;br /&gt;functionality to the target application domain. Using marshal-by- value objects reduces time- and&lt;br /&gt;resource-consuming trips across network, process, and application domain boundaries. You also use&lt;br /&gt;marshal-by-value objects directly from within the original application domain of the object. In this case,&lt;br /&gt;access is efficient because marshaling does not take place.&lt;br /&gt;Marshal-by-Reference Objects&lt;br /&gt;Marshal-by-reference objects are remotable objects that extend the System.Marshal-ByRefObject class.&lt;br /&gt;When a client creates an instance of a marshal-by-reference object in its own application domain,&lt;br /&gt;the .NET Remoting infrastructure creates a proxy object in the caller application domain that represents&lt;br /&gt;the marshal-by-reference object and returns a reference of that proxy to the caller. The client then makes&lt;br /&gt;method calls to the proxy object. The remoting system marshals those calls, returns them to the server&lt;br /&gt;application domain, and invokes the call on the actual object.&lt;br /&gt;Note If the client is in the same application domain as the marshal-by-reference object, the infrastructure&lt;br /&gt;returns a direct reference to the marshal-&lt;br /&gt;by-reference object, avoiding the overhead of marshaling.&lt;br /&gt;Before you create a distributed application, you should know the following: &lt;br /&gt;You can call an object created in a specific domain directly from that domain.&lt;br /&gt;If you need to call an object from a process outside its own application domain, you should&lt;br /&gt;publish&lt;br /&gt;publish the object. When you   an object, you either copy the object to another application&lt;br /&gt;domain or create a proxy of the object in another application domain.&lt;br /&gt;If the size of the object is large or if it contains a large number of methods, the object can not be&lt;br /&gt;efficiently published or consumed across domain boundaries. Therefore, you must decide which&lt;br /&gt;type of object you want to publish based on the requirement of your application.&lt;br /&gt;In this lesson, you learned about the basics of .NET Remoting, passing objects between processes, and&lt;br /&gt;the .NET Remoting architecture. In addition, you learned about remotable and nonremotable objects.&lt;br /&gt;You also learned about the marshal-by- value and marshal-by-reference objects.&lt;br /&gt;In the next lesson, you will learn to create and activate objects. In addition, you will learn about the&lt;br /&gt;lifetimes of objects. You will also learn to control objects.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 2: Implementing Server-Activated and Client-Activated&lt;br /&gt;Objects&lt;br /&gt;In the previous lesson, you learned about .NET Remoting and its architecture. As mentioned earlier,&lt;br /&gt;in .NET Remoting, there are server and client processes. To communicate with the server process, you&lt;br /&gt;use references of the server objects in the client application. In this lesson, you will learn how to create&lt;br /&gt;the server and client objects. You will also learn how to activate these objects and control the lease of&lt;br /&gt;these objects.&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Identify server- and client-activated objects&lt;br /&gt;Perform various modes of activation&lt;br /&gt;Control the lifetime leases of objects&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 40 minutes&lt;br /&gt;Understanding Remote Object Activation&lt;br /&gt;When you develop an object, you need not track the creation of the object. You only need to ensure that&lt;br /&gt;the object responds to the method calls. However, when you develop a remote object, you need to track&lt;br /&gt;the creation and initialization of the object because the way a remote object behaves depends on how the&lt;br /&gt;object is created and activated. You have to be aware of how remote objects are activated. You need to&lt;br /&gt;specify to the remoting system what type of activation is required on the objects before the remoting&lt;br /&gt;system provides these objects to the clients.&lt;br /&gt;In the next two sections, you will learn about the two types of activation modes in the .NET Remoting&lt;br /&gt;system: server activation and client activation.&lt;br /&gt;Server Activation&lt;br /&gt;In server activation, objects are created on the server when you call a method in the server class.&lt;br /&gt;new&lt;br /&gt;However, objects are not created when you use the   keyword to create an instance of the server&lt;br /&gt;class. &lt;br /&gt;Consider the following example: The Social Security office has a service component that enables&lt;br /&gt;organizations, such as banks and apartment offices, to check the validity of a particular social security&lt;br /&gt;number (SSN). Clients connect to this service and provide the SSN of a person for validation. The&lt;br /&gt;service validates the number and returns the appropriate personal information. In this scenario, clients&lt;br /&gt;are always connected to the server at the Social Security office. The service is activated only when a&lt;br /&gt;method call arrives from the clients asking for the validation of an SSN. This is known as server&lt;br /&gt;activation. The following code displays server activation of objects.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System.Runtime.Remoting&lt;br /&gt;Public Class SSNServer&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;    Public Function ValidateSSN(Byval number as Long) As String&lt;br /&gt;        ' Return the address&lt;br /&gt;        Dim address As String&lt;br /&gt;        ' Do some work here to validate the SSN&lt;br /&gt;        Return address&lt;br /&gt;    End Function&lt;br /&gt;End Class&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;using System.Runtime.Remoting;&lt;br /&gt;namespace SSNComponentCSharp&lt;br /&gt;{&lt;br /&gt;    public class SSNServer : MarshalByRefObject&lt;br /&gt;    {&lt;br /&gt;        public SSNServer()&lt;br /&gt;        {&lt;br /&gt;        }&lt;br /&gt;        public String ValidateSSN(long number)&lt;br /&gt;        {&lt;br /&gt;            //Return the address&lt;br /&gt;            String address;&lt;br /&gt;            //Do some work here to validate the SSN&lt;br /&gt;            return address;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;The preceding code displays a sample server object that takes a value of the long type value as a&lt;br /&gt;parameter and returns the corresponding address. The following code illustrates how to call the&lt;br /&gt;ValidateSSN method. Because this is in server-activation mode, the object is created only when you call&lt;br /&gt;the ValidateSSN method, not when you create an instance of the class.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim serverInstance as New SSNServer()&lt;br /&gt;' Remote Object on the server is created in the next line&lt;br /&gt;Console.WriteLine(serverInstance.ValidateSSN(242990307))&lt;br /&gt;Visual C#&lt;br /&gt;SSNServer serverInstance = new SSNServer();&lt;br /&gt;//Remote Object on the server is created in the next line&lt;br /&gt;Console.WriteLine(serverInstance.ValidateSSN(242990307));&lt;br /&gt;You can create a server-activated object as a Singleton or SingleCall object based on the requirements of&lt;br /&gt;your remote application. Singleton objects can have only one instance regardless of the number of&lt;br /&gt;clients they have. These objects also have a default lifetime. Therefore, if you create a server object as a&lt;br /&gt;Singleton object, a single instance of the server object manages all the clients. When you declare an&lt;br /&gt;object as a SingleCall object, the remoting system creates an object each time a client method invokes a&lt;br /&gt;remote object. To register a server object as a Singleton object, you specify the type of the object as&lt;br /&gt;WellKnownObjectMode.Singleton. The following code shows how to specify an object as&lt;br /&gt;WellKnownObjectMode.Singleton.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System.Runtime.Remoting&lt;br /&gt;Public Class SSNServer&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;    Sub New()&lt;br /&gt;        RemotingConfiguration.ApplicationName = "testService"&lt;br /&gt;         &lt;br /&gt;RemotingConfiguration.RegisterWellKnownServiceType( _&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            GetType(testService), "MyUri", _&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;            WellKnownObjectMode.Singleton&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;        Console.WriteLine("Press Enter to Stop")&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;Class testService&lt;br /&gt;    'Service Component&lt;br /&gt;End Class&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;using System.Runtime.Remoting;&lt;br /&gt;using System.Runtime.Remoting.Channels;&lt;br /&gt;using System.Runtime.Remoting.Channels.Tcp;&lt;br /&gt;&lt;br /&gt;namespace SSNComponentCSharp&lt;br /&gt;{&lt;br /&gt;    public class SSNServer&lt;br /&gt;    {&lt;br /&gt;        public SSNServer()&lt;br /&gt;        {&lt;br /&gt;            RemotingConfiguration.ApplicationName = "testService";&lt;br /&gt;             &lt;br /&gt;RemotingConfiguration.RegisterWellKnownServiceType(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                typeof(testService),&lt;br /&gt;                "MyUri",WellKnownObjectMode.Singleton);&lt;br /&gt;            Console.WriteLine("Press enter to stop.");&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class testService : MarshalByRefObject&lt;br /&gt;{&lt;br /&gt;    //Service Object Registered in the SSNServer class above.&lt;br /&gt;}&lt;br /&gt;Note You need to add a reference to System.Runtime.Remoting to use the classes in the&lt;br /&gt;System.Runtime.Remoting.Channels.Tcp namespace.&lt;br /&gt;To register a server object as a SingleCall object, you specify the type of the object as&lt;br /&gt;WellKnownObjectMode.SingleCall. The following code shows how to specify the type of an object as&lt;br /&gt;WellKnownObjectMode.SingleCall.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System.Runtime.Remoting&lt;br /&gt;Public Class SSNServer&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;    Sub New()&lt;br /&gt;        RemotingConfiguration.ApplicationName = "testService"&lt;br /&gt;         &lt;br /&gt;RemotingConfiguration.RegisterWellKnownServiceType( _&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            GetType(testService), "MyUri", _&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            WellKnownObjectMode.SingleCall)&lt;br /&gt;&lt;br /&gt;Console.WriteLine("Press Enter to Stop")&lt;br /&gt;       &lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;Class testService&lt;br /&gt;    'Service Component&lt;br /&gt;End Class&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;using System.Runtime.Remoting;&lt;br /&gt;using System.Runtime.Remoting.Channels;&lt;br /&gt;using System.Runtime.Remoting.Channels.Tcp;&lt;br /&gt;&lt;br /&gt;namespace SSNComponentCSharp&lt;br /&gt;{&lt;br /&gt;    public class SSNServer&lt;br /&gt;    {&lt;br /&gt;        public SSNServer()&lt;br /&gt;        {&lt;br /&gt;            RemotingConfiguration.ApplicationName = "testService";&lt;br /&gt;             &lt;br /&gt;RemotingConfiguration.RegisterWellKnownServiceType(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                typeof(testService),&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                "MyUri",WellKnownObjectMode.SingleCall);&lt;br /&gt;&lt;br /&gt;Console.WriteLine("Press enter to stop.");&lt;br /&gt;           &lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class testService : MarshalByRefObject&lt;br /&gt;{&lt;br /&gt;    //Service Object Registered in the SSNServer class above.&lt;br /&gt;}&lt;br /&gt;Client Activation&lt;br /&gt;new&lt;br /&gt;Client-activated objects are created on the server when you create an instance using the   keyword.&lt;br /&gt;For example, you can create a chat application that allows users to communicate with other users over&lt;br /&gt;an intranet. When a user logs on, a new instance of the chat server object is created. The default&lt;br /&gt;constructor of the chat server object contains the code to locate users who are currently online and&lt;br /&gt;displays it to the user who logs in. In this case, the remote object on the server will be created when you&lt;br /&gt;new&lt;br /&gt;create the instance using the   keyword.&lt;br /&gt;The client application domain defines the lifetimes of client-activated objects. These objects are present&lt;br /&gt;in the client application domain. In client activation, when the client tries to create an instance of the&lt;br /&gt;server object, a connection is made to the server, and the client proxy is created. The proxy object is&lt;br /&gt;created using an object reference, which is obtained after the remote object is created on the server.&lt;br /&gt;When a client creates a client-activated instance, the instance of the remote object serves a particular&lt;br /&gt;lease&lt;br /&gt;client until its lease expires and the garbage collector recycles its memory. The   controls the time a&lt;br /&gt;remote object remains in memory. If a client creates two new instances of a remote object, each&lt;br /&gt;reference to the remote ob&lt;br /&gt;ject invokes only the particular instance in the server application.&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;In COM, clients hold an object in memory by maintaining a reference to it. When the last COM client&lt;br /&gt;releases its last reference to an object, the object deletes itself. Client activation enables you to control&lt;br /&gt;the lifetime of the server object without maintaining references or constantly pinging to confirm the&lt;br /&gt;continued existence of the server or the client. &lt;br /&gt;Client-activated objects use lifetime leases to determine the duration of their existence. When a client&lt;br /&gt;creates an object, it specifies a default duration for which the object should exist. If the remote object&lt;br /&gt;reaches the end of its default lifetime duration, the object contacts the client and asks whether it should&lt;br /&gt;continue to exist and for how long. If the client is not currently available, a default time limit is specified&lt;br /&gt;for which the server object waits while trying to contact the client before marking itself available for&lt;br /&gt;garbage collection. The client might even request an indefinite default lifetime, preventing the remote&lt;br /&gt;object from being recycled until the server application domain is torn down.&lt;br /&gt;Note The difference between a client-activated indefinite lifetime and a server- activated indefinite&lt;br /&gt;lifetime is that an indefinite server-activated object serves all client requests for that type, whereas&lt;br /&gt;the client-activated instances serve only the client and the references that are responsible for their&lt;br /&gt;creation.&lt;br /&gt;Remoting Tasks&lt;br /&gt;After learning about server- and client-activated objects, you can now turn your attention to the basic&lt;br /&gt;remoting tasks that are essential for establishing communication between a client and a remote object.&lt;br /&gt;You perform the following remoting tasks to publish any service outside the service domain: &lt;br /&gt;Identify the application domain that will host the service&lt;br /&gt;Identify the activation mode: server activation or client activation&lt;br /&gt;Identify and create a channel and a port&lt;br /&gt;Identify how the client application obtains the metadata information about the service&lt;br /&gt;The host application domain can be a Windows Services, console application, Windows Forms&lt;br /&gt;application, or an XML Web service that use ASP.NET. After choosing an application domain for your&lt;br /&gt;service, you identify the activation mode for the service.&lt;br /&gt;Once you have specified the activation mode and other relevant information such as the application&lt;br /&gt;name and the endpoints for the remoting system, you then configure your system using the configuration&lt;br /&gt;file. To configure a remote system, call the Configure method of the RemotingConfiguration class. The&lt;br /&gt;following code shows how to call the Configure method of the RemotingConfiguration class.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;RemotingConfiguration.Configure(“configuration.config”)&lt;br /&gt;Visual C#&lt;br /&gt;RemotingConfiguration.Configure(“configuration.config”);&lt;br /&gt;In the preceding code snippet, the Configuration.config file contains information on configuring the&lt;br /&gt;remotin&lt;br /&gt;g system. You can also configure the remoting system programmatically. When you configure&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;the remoting system programmatically, you do not require the configuration file. &lt;br /&gt;Next, create the appropriate channel, TcpChannel or HttpChannel, and register it using the&lt;br /&gt;RegisterChannel method of the RemotingConfiguration class. If you use the configuration file to&lt;br /&gt;configure the remoting system, you can create the appropriate channel by simply loading the&lt;br /&gt;configuration file using the RemotingConfiguration.Configure method.&lt;br /&gt;Finally, publish the service so that it is accessible from outside the domain. This enables the server&lt;br /&gt;application to function.&lt;br /&gt;Using Lifetime Leases&lt;br /&gt;The lifetime of a marshal-by-reference object is the duration for which the object resides in memory. A&lt;br /&gt;marshal-by-reference object stays in memory forever regardless of the type of the object. In other words,&lt;br /&gt;all marshal-by-reference server- activated and client-activated objects have a lifetime of their own.&lt;br /&gt;These objects are released from memory after the lifetime expires and the object is marked for garbage&lt;br /&gt;collection. The GC then removes the objects from memory.&lt;br /&gt;The .NET Remoting system deletes an object only when it is marked as ready for garbage collection.&lt;br /&gt;The lifetime lease manager of the server application domain is responsible for determining the objects&lt;br /&gt;that are ready for garbage collection. However, a sponsor object can request a new lease for a particular&lt;br /&gt;object by registering itself with the lease manager.&lt;br /&gt;Whenever a marshal-by-reference object is remoted outside an application domain, a lifetime lease is&lt;br /&gt;lease manager&lt;br /&gt;created for that object. Each application domain contains a   that administers the leases in&lt;br /&gt;its domain. The lease manager periodically reviews the leases for expiration. If a lease expires, the lease&lt;br /&gt;manager goes through its list of sponsors for that object and asks if any of them want to renew the lease.&lt;br /&gt;If none of the sponsors renew the lease, the lease manager removes the lease. The object is then deleted,&lt;br /&gt;and garbage collection reclaims the object memory. The lifetime of an object can therefore be much&lt;br /&gt;longer than its lifetime lease.&lt;br /&gt;Initializing Lifetime Leases&lt;br /&gt;To initialize a lifetime lease, you override the InitializeLifetimeService function of the&lt;br /&gt;MarshalByRefObject class. The following is the syntax used to override the InitializeLifetimeService&lt;br /&gt;function.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System.Runtime.Remoting.Lifetime&lt;br /&gt;Public Class MyLifetimeControlObject&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;    Public Overrides Function InitializeLifetimeService() As [Object]&lt;br /&gt;        Dim lease As ILease = CType(MyBase.InitializeLifetimeService(), _&lt;br /&gt;            ILease)&lt;br /&gt;        If lease.CurrentState = LeaseState.Initial Then&lt;br /&gt;            lease.InitialLeaseTime = TimeSpan.FromMinutes(2)&lt;br /&gt;            lease.SponsorshipTimeout = TimeSpan.FromMinutes(3)&lt;br /&gt;            lease.RenewOnCallTime = TimeSpan.FromSeconds(3)&lt;br /&gt;        End If&lt;br /&gt;        Return lease&lt;br /&gt;    End Function&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;End Class&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;using System.Runtime;&lt;br /&gt;using System.Runtime.Remoting;&lt;br /&gt;using System.Runtime.Remoting.Lifetime;&lt;br /&gt;&lt;br /&gt;public class MyLifetimeControlObject: MarshalByRefObject &lt;br /&gt;{&lt;br /&gt;    public override object InitializeLifetimeService()&lt;br /&gt;    {&lt;br /&gt;        ILease lease = (ILease)base.InitializeLifetimeService();&lt;br /&gt;        if (lease.CurrentState == LeaseState.Initial)  &lt;br /&gt;        {&lt;br /&gt;            lease.InitialLeaseTime = TimeSpan.FromMinutes(2);&lt;br /&gt;            lease.SponsorshipTimeout = TimeSpan.FromMinutes(3);&lt;br /&gt;            lease.RenewOnCallTime = TimeSpan.FromSeconds(3);&lt;br /&gt;        }&lt;br /&gt;        return lease;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;Renewing Lifetime Leases&lt;br /&gt;After you create a lifetime lease for an object, you can only change the CurrentLeaseTime property of&lt;br /&gt;the lease object. The CurrentLeaseTime property returns the amount of time remaining on the lease.&lt;br /&gt;These are the two ways to renew a lease: &lt;br /&gt;A client application calls the ILease.Renew method.&lt;br /&gt;A sponsor renews the lease.&lt;br /&gt;The following code shows how to renew a lease using a client application.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim obj As New RemoteType()&lt;br /&gt;Dim lease As ILease = CType(RemotingServices.GetLifetimeService(obj), _ &lt;br /&gt;    ILease)&lt;br /&gt;Dim expireTime As TimeSpan = lease.Renew(TimeSpan.FromSeconds(30))&lt;br /&gt;Visual C#&lt;br /&gt;RemoteType obj = new RemoteType();&lt;br /&gt;ILease lease = (ILease)RemotingServices.GetLifetimeService(obj);&lt;br /&gt;TimeSpan expireTime = lease.Renew(TimeSpan.FromSeconds(30));&lt;br /&gt;When you publish remote objects, you should know the members of the remote objects that are&lt;br /&gt;published. Clients can only access those members that the remote object publishes.&lt;br /&gt;Scope of Publication&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;The .NET Remoting system exposes the functionality of server objects to client applications assuming&lt;br /&gt;that the objects are contained locally in the client application. However, there are some exceptions to the&lt;br /&gt;objects that are exported remotely. Table 4.1 provides details about various objects and how the .NET&lt;br /&gt;Remoting system manages these objects.&lt;br /&gt;Table 4.1: Scope of Publication&lt;br /&gt;Objects  Description&lt;br /&gt;Static members  You cannot export static members, such as fields and methods, remotely.&lt;br /&gt;.NET Remoting needs instance members to enable communication between&lt;br /&gt;the client and server objects.&lt;br /&gt;Instance fields and  The .NET Remoting system checks whether the object that you use is&lt;br /&gt;accessors  exported as a proxy object. If it is a proxy object, the client can directly&lt;br /&gt;access instance fields through the proxy. If the exported object is not a&lt;br /&gt;proxy, the proxy object provides instance accessors to the client.&lt;br /&gt;Private members  You cannot export private members of a remote object.&lt;br /&gt;Delegates  Delegates are marshal-by-value objects. The object in delegates can be a&lt;br /&gt;remotable object, such as a serializable object, a MarshalByRef object, or a&lt;br /&gt;ContextBound object.&lt;br /&gt;Overriding methods on an To enhance performance, the virtual methods on an object always execute&lt;br /&gt;object  locally in the application domain in which they are called.&lt;br /&gt;In addition to the objects listed in Table 4.1, calls to Equals() and ToString() methods are executed in&lt;br /&gt;the remote object provided that these methods are overridden in the remote object. However, calls to&lt;br /&gt;GetHashCode() and MemberwiseClone() methods are executed locally.&lt;br /&gt;In this lesson, you learned about server- and client-activated objects. You also learned to create&lt;br /&gt;Singleton and SingleCall objects, and to establish a connection between server and client applications.&lt;br /&gt;In addition, you identified the objects that cannot be exported as remote objects. You also learned about&lt;br /&gt;lifetime leases and how to initialize and renew the lifetime leases of objects. Finally, you learned about&lt;br /&gt;the scope of publication.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 3: Transporting Messages Across Application Domains&lt;br /&gt;Using Channels&lt;br /&gt;Channels are the objects that remote objects use to communicate with each other. In this lesson, you will&lt;br /&gt;learn about the role of channels in transporting messages between remote objects. You will also learn&lt;br /&gt;how to use and configure channels.&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Describe channels and their role in transporting messages between remote objects&lt;br /&gt;Describe different types of channels&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Define the format in which messages are transported over a channel&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 60 minutes&lt;br /&gt;Understanding Channels&lt;br /&gt;Channels&lt;br /&gt; enable an application that is running in one application domain, process, or computer to send&lt;br /&gt;messages to an application running in a different application domain, process, or computer. In addition,&lt;br /&gt;channels allow applications to send and receive messages using various protocols, such as TCP and&lt;br /&gt;HTTP.&lt;br /&gt;Channels work as message carriers between remoting boundaries, such as contexts, application domains,&lt;br /&gt;processes, and computers. A channel listens for messages at one remoting boundary and sends messages&lt;br /&gt;to another remoting boundary. The remoting boundaries at the end of channels constitute the channel&lt;br /&gt;endpoints. Before one remote object sends a message to another remote object, a channel converts the&lt;br /&gt;message into an appropriate format such as the XML or binary format. Before sending the message, the&lt;br /&gt;channel performs the necessary conversions.&lt;br /&gt;Channel Interfaces&lt;br /&gt;The .NET Framework provides the System.Runtime.Remoting.Channels name- space, which includes&lt;br /&gt;the interfaces and classes that you use to work with channels. All channels implement the IChannel&lt;br /&gt;interface. The IChannel interface provides properties such as ChannelName and ChannelPriority, which&lt;br /&gt;uniquely identify a channel and define the channel priority, respectively. &lt;br /&gt;Depending on whether you use a channel to receive or send messages, channels are categorized as&lt;br /&gt;receiver or server and sender or client channels. A receiver or server channel implements the&lt;br /&gt;IChannelReceiver interface, and a sender or client channel implements the IChannelSender interface.&lt;br /&gt;The IChannelReceiver interface specifies methods, such as StartListening and StopListening, that must&lt;br /&gt;be implemented by a receiver channel class. The IChannelSender interface specifies a method,&lt;br /&gt;CreateMessageSink, which must be implemented by a sender or client channel class. The&lt;br /&gt;CreateMessageSink method creates and returns a message sink that the channel object uses to deliver&lt;br /&gt;messages to a remote object located at a specific URL. You will learn about sinks later in this lesson.&lt;br /&gt;The HttpServerChannel and TcpServerChannel classes implement the IChannelReceiver interface,&lt;br /&gt;whereas the HttpClientChannel and TcpClientChannel classes implement the IChannelSender interface.&lt;br /&gt;A channel can also implement the IChannelSender and IChannelReceiver interfaces, which enable the&lt;br /&gt;channel to send as well as receive messages. The HttpChannel and TcpChannel classes implement the&lt;br /&gt;IChannelSender and IChannelReceiver interfaces, which enable objects of these classes to send and&lt;br /&gt; shows various interfaces and their members that are implemented by the&lt;br /&gt;receive messages. Table 4.2&lt;br /&gt;channel classes.&lt;br /&gt;Table 4.2: Channel Interfaces&lt;br /&gt;Channel  Description&lt;br /&gt; &lt;br /&gt;Public properties of IChannel interface&lt;br /&gt;ChannelName  This property gets the name of the channel.&lt;br /&gt;ChannelPriority  This property gets the priority of the channel. A higher number indicates a&lt;br /&gt;higher priority. The client channel with a higher priority gets the first&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;chance to connect to a remote object. On the other hand, the priority in the&lt;br /&gt;case of server channels indicates the order in which the clients will use&lt;br /&gt;channels while connecting to the server objects.&lt;br /&gt; &lt;br /&gt;Public methods of IChannel interface&lt;br /&gt;Parse  This method returns the Uniform Resource Identifier (URI) of the current&lt;br /&gt;channel and the object URI as an out parameter.&lt;br /&gt; &lt;br /&gt;Public properties of IChannelReceiver interface&lt;br /&gt;ChannelData  This property gets the channel-specific data, which includes information&lt;br /&gt;about the object being remoted.&lt;br /&gt; &lt;br /&gt;Public methods of IChannelReceiver interface&lt;br /&gt;StartListening  This method instructs a channel to start listening for client requests.&lt;br /&gt;StopListening  This method instructs a channel to stop listening for client requests.&lt;br /&gt;GetUrlsForUri  This method returns an array of all the URLs for a URI.&lt;br /&gt; &lt;br /&gt;Public methods of IChannelSender interface&lt;br /&gt;CreateMessageSink  This method returns a message sink object that delivers messages to a&lt;br /&gt;specific URL or a channel data object. &lt;br /&gt;Registering a Channel&lt;br /&gt;Before one remote object sends messages to another remote object, you need to register a client channel&lt;br /&gt;with the remoting system. Similarly, to enable a remote component to receive messages, you need to&lt;br /&gt;register a server channel with the remoting infrastructure. To register channels with the remoting&lt;br /&gt;infrastructure, you use the ChannelServices class. The ChannelServices class provides static methods&lt;br /&gt;that enable you to register channels, resolve URLs, and discover remote objects using the object URLs.&lt;br /&gt;The RegisterChannel static method of the ChannelServices class allows you to register a channel with&lt;br /&gt;the remoting infrastructure. The following code shows how to register a TcpServerChannel method to&lt;br /&gt;listen at port 8010.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim channel as New TcpServerChannel(8010)&lt;br /&gt;ChannelServices.RegisterChannel(channel)&lt;br /&gt;Visual C#&lt;br /&gt;TcpServerChannel channel = new TcpServerChannel(8010);&lt;br /&gt;ChannelServices.RegisterChannel(channel);&lt;br /&gt;After you register a channel on the client and server computers, the remote objects can call methods on&lt;br /&gt; explains how remote objects use channels to communicate across remoting&lt;br /&gt;each other. The next section&lt;br /&gt;boundaries.&lt;br /&gt;Selecting Channels for Remoting&lt;br /&gt;When a client object calls a method on a remote object, channels carry the parameters and other call-&lt;br /&gt;related information to the remote object. A client can use any of the channels registered on the client&lt;br /&gt;com&lt;br /&gt;puter to call a method on the remote object. In addition, you can customize an existing channel or&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;create a channel that uses a different transport protocol. You should apply the following rules when&lt;br /&gt;selecting channels for remote objects: &lt;br /&gt;A client cannot call a method on a remote object unless you register at least one client channel,&lt;br /&gt;such as TcpClientChannel or HttpClientChannel, with the remoting system on the client&lt;br /&gt;computer. In addition, you should register a server channel, such as TcpServerChannel or&lt;br /&gt;HttpServerChannel, before registering a remote object.&lt;br /&gt;You must register a server channel on the client computer if a remote object calls back a method&lt;br /&gt;on the client. &lt;br /&gt;Channel names within an application domain cannot be the same. However, an application&lt;br /&gt;domain can contain multiple channels of the same type. For example, an application domain can&lt;br /&gt;have more than one TcpChannel object registered with the remoting system. The ChannelName&lt;br /&gt;property of these channels should uniquely identify these channels.&lt;br /&gt;Two channels registered with the remoting system on a computer cannot listen on the same port.&lt;br /&gt;When a client calls a remote object, the remoting infrastructure creates a message that contains&lt;br /&gt;parameters and other call-related information. The process by which the parameters and call-related&lt;br /&gt;marshaling&lt;br /&gt;. The remoting infrastructure sends the&lt;br /&gt;information are bundled into a message is known as&lt;br /&gt;message to a RealProxy object. The RealProxy object, in turn, forwards the message to a message sink.&lt;br /&gt;message sink&lt;br /&gt;A   is an object that allows a client to establish a connection with the channel registered by&lt;br /&gt;the remote object and forwards the messages to the channel. When the channel in the application domain&lt;br /&gt;of the remote object receives the message, the remoting system on the server unmarshals the message&lt;br /&gt;and forwards the call along with parameters and other call-related information to an appropriate remote&lt;br /&gt;object.&lt;br /&gt;Note When the remoting system creates a RealProxy object, the remoting system also creates a message&lt;br /&gt;sink object by calling the IChannelSender.CreateMessageSink method on the selected channel.&lt;br /&gt;During the communication between a client and the remote object, the message payload that contains the&lt;br /&gt;marshaled parameters and call-related information is transported.&lt;br /&gt;The channel that carries the message payload can use various transport protocols, such as HTTP and&lt;br /&gt;TCP. Depending on the transport protocols used, channels are divided into two namespaces:&lt;br /&gt;System.Runtime.Remoting.Channels.Http and System.Runtime.Remoting.Channels.Tcp.&lt;br /&gt;HTTP Channels&lt;br /&gt;The System.Runtime.Remoting.Channels.Http namespace provides channel classes that use the HTTP&lt;br /&gt;protocol to transport messages between remote objects. The System.Runtime.Remoting.Channels.Http&lt;br /&gt;namespace provides classes, such as HttpClientChannel, HttpServerChannel, and HttpChannel. You can&lt;br /&gt;use the HttpClientChannel class to transport messages from a client to a remote object. To create an&lt;br /&gt;HttpClientChannel object and register it with the remoting system, use the following code.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;ChannelServices.RegisterChannel(New HttpClientChannel())&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Visual C#&lt;br /&gt;ChannelServices.RegisterChannel(new HttpClientChannel());&lt;br /&gt;Note The constructor for the HttpClientChannel object does not require you to pass the port number&lt;br /&gt;because the remoting system automatically allocates an available port to the channel.&lt;br /&gt;The HttpServerChannel allows a remote object to listen to the remote calls from clients. You must&lt;br /&gt;register the HttpServerChannel object at a specific port. The following code shows how to create and&lt;br /&gt;register an HttpServerChannel object to listen at port 8080.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim channel as New HttpServerChannel(8080)&lt;br /&gt;ChannelServices.RegisterChannel(channel)&lt;br /&gt;Visual C#&lt;br /&gt;HttpServerChannel channel=new HttpServerChannel(8080);&lt;br /&gt;ChannelServices.RegisterChannel(channel);&lt;br /&gt;Note You pass the port number as an argument to the HttpServerChannel constructor that determines the&lt;br /&gt;port at which the server channel listens for the remote calls. Specifying a port that is already in use&lt;br /&gt;causes an exception to be thrown. Therefore, if you are not sure which port number to specify, pass&lt;br /&gt;0 as an argument to the constructor. The remoting system allocates an available port to the server&lt;br /&gt;channel.&lt;br /&gt;You can use the HttpChannel class to transport messages to and from remote objects. The following&lt;br /&gt;code shows how to create and register an HttpChannel object to listen at port 8010.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim channel as New HttpChannel(8010)&lt;br /&gt;ChannelServices.RegisterChannel(channel)&lt;br /&gt;Visual C#&lt;br /&gt;HttpChannel channel = new HttpChannel(8010);&lt;br /&gt;ChannelServices.RegisterChannel(channel);&lt;br /&gt;Table 4.3 shows the constructor methods of various HTTP channel classes.&lt;br /&gt;Note The constructor methods in Visual Basic.NET are identified with the New name, whereas in Visual&lt;br /&gt;C# the constructors have the same name as that of the class. &lt;br /&gt;Table 4.3: Constructors of HTTP Channel Classes&lt;br /&gt;Constructor  Description&lt;br /&gt; &lt;br /&gt;HttpChannel class&lt;br /&gt;New() or HttpChannel()  The default constructor initializes all the fields. The&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;HttpChannel class functions as a client channel when you&lt;br /&gt;use the default constructor to create it.&lt;br /&gt;port port&lt;br /&gt;New( ) or HttpChannel( )  This constructor allows the HttpChannel object to function&lt;br /&gt;Port&lt;br /&gt;as a client channel as well as a server channel.  &lt;br /&gt;specifies the port at which the HttpChannel object listens&lt;br /&gt;to remote calls.&lt;br /&gt;properties&lt;br /&gt;Properties&lt;br /&gt;New( ,&lt;br /&gt; is an IDictionary object that contains a&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;,&lt;br /&gt;collection of channel properties in key-value pairs.&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;Clientchannelsinkprovider&lt;br /&gt;) or&lt;br /&gt; is an IClientChannel-&lt;br /&gt;properties&lt;br /&gt;HttpChannel( ,&lt;br /&gt;SinkProvider object that creates the client channel sinks&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;Serverchannelsink-&lt;br /&gt;,&lt;br /&gt;through which messages flow.&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;provider&lt;br /&gt;)&lt;br /&gt; is an IServerChannelSinkProvider object that&lt;br /&gt;creates server channel sinks through which the messages&lt;br /&gt;flow.&lt;br /&gt;(Channel sinks are described in Lesson 3.)&lt;br /&gt; &lt;br /&gt;HttpClientChannel class&lt;br /&gt;New() or HttpClientChannel()  This constructor initializes a new instance of the&lt;br /&gt;HttpClientChannel class with default values.&lt;br /&gt;properties&lt;br /&gt;New( ,  This constructor initializes the HttpClientChannel class&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;) or  and sets the properties according to the key-value pairs in&lt;br /&gt;properties properties Clientchannelsinkprovider&lt;br /&gt;HttpClientChannel( ,  the   object.   is the&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;)  IClientChannelSinkProvider object that the&lt;br /&gt;HttpClientChannel object uses to create a client channel&lt;br /&gt;sink. The messages sent by the client channel pass through&lt;br /&gt;a chain of client channel sinks.&lt;br /&gt;name,&lt;br /&gt;New( This constructor initializes the HttpClientChannel object&lt;br /&gt;clientchannelsinkprovider name&lt;br /&gt;) or  and sets its ChannelName property to  .&lt;br /&gt;name,  Clientchannelsinkprovider&lt;br /&gt;HttpClientChannel(  is the IClientChannel-&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;)  SinkProvider object that the HttpClientChannel object uses&lt;br /&gt;to create a client channel sink. The messages sent by the&lt;br /&gt;client channel pass through a chain of client channel sinks.&lt;br /&gt; &lt;br /&gt;HttpServerChannel class&lt;br /&gt;New() or HttpServerChannel()  This constructor initializes the HttpServerChannel object&lt;br /&gt;with the default values.&lt;br /&gt;port&lt;br /&gt;New( ) or HttpServerChannel This constructor initializes the HttpServerChannel object&lt;br /&gt;port port&lt;br /&gt;( )  to listen at the specified  .&lt;br /&gt;name port&lt;br /&gt;New( ,  ) or  This constructor initializes the HttpServerChannel object&lt;br /&gt;name port name&lt;br /&gt;HttpServerChannel( ,  )  with the ChannelName property set to   and sets the&lt;br /&gt;port&lt;br /&gt; at which the channel listens for the remote method&lt;br /&gt;calls.&lt;br /&gt;properties&lt;br /&gt;New( ,  This constructor initializes the HttpServerChannel object&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;) or  and sets the properties according to the key-value pairs in&lt;br /&gt;properties properties Serverchannelsinkprovider&lt;br /&gt;HttpServerChannel( ,  the   object.   is the&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;IServerChannelSinkProvider object that the&lt;br /&gt;)&lt;br /&gt;HttpServerChannel object uses to create a server channel&lt;br /&gt;sink. The messages received by the server channel pass&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;through a chain of server channel sinks.&lt;br /&gt;You use HTTP channels when interoperability between remote components is the main objective. HTTP&lt;br /&gt;channels use the SoapFormatter class to serialize messages into the XML format using the SOAP&lt;br /&gt;protocol before sending the message payload across the channel. The interoperability of SOAP messages&lt;br /&gt;allows a client to call methods on a remote object that might not be using the .NET Framework.&lt;br /&gt;However, if performance is the main objective, use channels that allow you to transport messages in the&lt;br /&gt;binary format. The System.Runtime.Remoting.Channels.Tcp namespace provides channel classes that&lt;br /&gt;enable you to transport messages to and from remote objects. The next section&lt;br /&gt; discusses the classes&lt;br /&gt;provided by the System.Runtime.Remoting.Channels.Tcp namespace.&lt;br /&gt;Serialization&lt;br /&gt;Note   is a process by which the state of an object is stored on a disk or transported across a&lt;br /&gt;Deserialization&lt;br /&gt;wire.   involves recreating an object by reading the persisted state information of the&lt;br /&gt;ob&lt;br /&gt;ject from a disk or across a wire.&lt;br /&gt;TCP Channels&lt;br /&gt;TCP channels allow you to transport messages across application domains using the TCP protocol. The&lt;br /&gt;TCP channels use the BinaryFormatter class to serialize messages into a binary stream before a client&lt;br /&gt;sends them to a remote object. In addition, the BinaryFormatter class deserializes the binary payload&lt;br /&gt;before delivering it to the remote object. The TCP channel classes that you can use include&lt;br /&gt;TcpClientChannel, TcpServerChannel, and TcpChannel. The TcpClientChannel class allows a client to&lt;br /&gt;send messages to a remote object, whereas the TcpServerChannel class allows a remote object to receive&lt;br /&gt;messages from clients. The TcpChannel class allows you to transport messages to and from a remote&lt;br /&gt;object. You register a TCP channel the same way in which you register an HTTP channel. The following&lt;br /&gt;code shows how to register TCP channels.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;ChannelServices.RegisterChannel(New TcpClientChannel())&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dim channel as New TcpServerChannel(8070)&lt;br /&gt;ChannelServices.RegisterChannel(channel)&lt;br /&gt;&lt;br /&gt;Dim tcpchannel as New TcpChannel(8010)&lt;br /&gt;ChannelServices.RegisterChannel(tcpchannel)&lt;br /&gt;Visual C#&lt;br /&gt;ChannelServices.RegisterChannel(new TcpClientChannel());&lt;br /&gt;&lt;br /&gt;TcpServerChannel channel=new TcpServerChannel(8070);&lt;br /&gt;ChannelServices.RegisterChannel(channel);&lt;br /&gt;&lt;br /&gt;TcpChannel tcpchannel = new TcpChannel(8010);&lt;br /&gt;ChannelServices.RegisterChannel(tcpchannel);&lt;br /&gt;Table 4.4 shows the constructor methods of various TCP channel classes. &lt;br /&gt;Table 4.4: Constructors of TCP Channel Classes&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Constructor  Description&lt;br /&gt;TcpChannel class  &lt;br /&gt;New() or TcpChannel()  The default constructor initializes all the fields. When you use&lt;br /&gt;the default constructor, the TcpChannel class functions as the&lt;br /&gt;client channel. &lt;br /&gt;port port&lt;br /&gt;New( ) or TcpChannel( )  This constructor allows the TcpChannel object to function as a&lt;br /&gt;port&lt;br /&gt;client channel as well as a server channel. The   number&lt;br /&gt;specifies the port at which the TcpChannel object listens to&lt;br /&gt;remote calls.&lt;br /&gt;properties Properties&lt;br /&gt;New( ,   are IDictionary objects that contains a collection of&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;,  channel properties in key-value pairs.&lt;br /&gt;serverchannelsinkprovider Clientchannelsinkprovider&lt;br /&gt;) or   is an IClientChannelSink- Provider&lt;br /&gt;properties&lt;br /&gt;TcpChannel( ,  object that creates the client channel sinks through which&lt;br /&gt;clientchannelsinkprovider Serverchannelsink- provider&lt;br /&gt;messages flow.   is an&lt;br /&gt;,&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;)  IServerChannelSinkProvider object that creates server channel&lt;br /&gt;sinks through which messages flow. &lt;br /&gt;TcpClientChannel class  &lt;br /&gt;New() or TcpClientChannel()  This constructor initializes the TcpClientChannel object with&lt;br /&gt;default values.&lt;br /&gt;properties&lt;br /&gt;New( ,  This constructor initializes the TcpClientChannel object and&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;) or  sets the properties according to the key-value pairs in the&lt;br /&gt;properties&lt;br /&gt;properties Clientchannelsinkprovider&lt;br /&gt;TcpClientChannel( ,&lt;br /&gt; object.  is the&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;)&lt;br /&gt;IClientChannelSinkProvider object that the TcpClientChannel&lt;br /&gt;object uses to create a client channel sink. The messages sent&lt;br /&gt;by the client channel pass a chain of client channel sinks.&lt;br /&gt;name&lt;br /&gt;New( ,  This constructor initializes the TcpClientChannel object and&lt;br /&gt;clientchannelsinkprovider name&lt;br /&gt;) or  sets its ChannelName property to  .&lt;br /&gt;name Clientchannelsinkprovider&lt;br /&gt;TcpClientChannel( ,   is the IClientChannelSink- Provider&lt;br /&gt;clientchannelsinkprovider&lt;br /&gt;)  object that the TcpClientChannel object uses to create a client&lt;br /&gt;channel sink. The messages sent by the client channel pass&lt;br /&gt;through a chain of client channel sinks.&lt;br /&gt;TcpServerChannel class  &lt;br /&gt;port port&lt;br /&gt;New( ) or TcpServerChannel( )  This constructor initializes the TcpServerChannel object to&lt;br /&gt;listen to a specified port.&lt;br /&gt;name port&lt;br /&gt;New( ,  ) or  This constructor initializes the TcpServerChannel object with&lt;br /&gt;name port name&lt;br /&gt;TcpServerChannel( ,  )  the ChannelName property set to   and sets the port at&lt;br /&gt;which the channel listens for remote method calls.&lt;br /&gt;properties&lt;br /&gt;New( ,  This constructor initializes the TcpServerChannel object and&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;) or  sets the properties according to the key-value pairs in the&lt;br /&gt;properties properties Serverchannelsinkprovider&lt;br /&gt;TcpServerChannel( ,   object.   is the&lt;br /&gt;serverchannelsinkprovider&lt;br /&gt;)&lt;br /&gt;IServerChannelSinkProvider object that the TcpServerChannel&lt;br /&gt;object uses to create a server channel sink. The messages that&lt;br /&gt;the server channel receives are routed through a chain of server&lt;br /&gt;channel sinks.&lt;br /&gt;Note There is no default constructor for the TcpServerChannel class.&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;If a remote object uses a TcpChannel or TcpServerChannel object to receive messages from clients, the&lt;br /&gt;clients can call the methods on the remote object only if they use either a TcpChannel or&lt;br /&gt;TcpClientChannel object. If clients use an HttpClientChannel or HttpChannel object to connect to a&lt;br /&gt;remote object that uses a TcpChannel or TcpServerChannel object, an exception is thrown. The client&lt;br /&gt;sees the error message, “The underlying connection was closed: An unexpected error occurred on a&lt;br /&gt;receive.”&lt;br /&gt;The decision of selecting HTTP or TCP channels depends on different features of these two types of&lt;br /&gt;channels. Table 4.5&lt;br /&gt; shows and compares the features of HTTP and TCP channels.&lt;br /&gt;Whether you select HTTP or TCP channels for your remote applications, channels perform tasks that are&lt;br /&gt;independent of the channel type. The messages that channels send to or receive from remote objects pass&lt;br /&gt;through a chain of objects called channel sinks. The channel sink objects perform tasks such as&lt;br /&gt;formatting, transporting, and stack building. In the next section, you will learn about channel sinks and&lt;br /&gt;sink chains and understand their role in remoting. &lt;br /&gt;Table 4.5: Features of HTTP and TCP Channels&lt;br /&gt;HTTP channels  TCP channels&lt;br /&gt;Transport messages to and from remote objects  Transport messages to and from remote objects&lt;br /&gt;using the HTTP protocol.  using the TCP protocol.&lt;br /&gt;Use the SoapFormatter class to serialize and  Use the BinaryFormatter class to serialize and&lt;br /&gt;deserialize messages.  deserialize messages.&lt;br /&gt;Create two connections by default to connect to  Create as many connections as the number of client&lt;br /&gt;a given server. You can configure this channel  threads making the requests. The socket connections&lt;br /&gt;by changing the clientConnectionLimit attribute  are closed if the connections remain inactive for 15–&lt;br /&gt;in an application configuration file.  20 seconds.&lt;br /&gt;Generate and consume the Channel- DataStore  Generate and consume the ChannelDataStore for&lt;br /&gt;for object references.  object references.&lt;br /&gt;Sinks and Sink Chains&lt;br /&gt;Channels connect objects across remoting boundaries by allowing them to send messages to each other.&lt;br /&gt;channel sink&lt;br /&gt; performs&lt;br /&gt;The messages carried by channels pass through a chain of channel sinks. A&lt;br /&gt;certain functions on the message before forwarding the message to the next channel sink in the chain.&lt;br /&gt; &lt;br /&gt;Figure 4.2: Channel sink chains &lt;br /&gt;You use channel sink providers to create channel sink chains. These include objects that implement the&lt;br /&gt;IClientChannelSinkProvider, IClientFormatterSinkProvider, or IServerChannelSinkProvider interfaces.&lt;br /&gt;When you activate a remote object, the remoting system retrieves the channel sink provider from the&lt;br /&gt;current channel and calls the CreateSink method on the channel sink provider to create the first channel&lt;br /&gt;in the chain. The first channel sink on a client must be a formatter sink that serializes the message into a&lt;br /&gt;stream. The last sink on the channel sink chain should be a transport sink that sends the stream over the&lt;br /&gt;network wire.&lt;br /&gt;The following code shows how to create a channel sink chain.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;private Function CreateSinkChain() As IClientChannelSinkProvider &lt;br /&gt;    Dim chain As New FormatterSinkProvider_1&lt;br /&gt;    Dim sink As IClientChannelSinkProvider &lt;br /&gt;    sink = chain &lt;br /&gt;    sink.Next = New FormatterSinkProvider_2 &lt;br /&gt;    sink = sink.Next &lt;br /&gt;    return chain &lt;br /&gt;End Function&lt;br /&gt;Visual C#&lt;br /&gt;private IClientChannelSinkProvider CreateSinkChain()&lt;br /&gt;{&lt;br /&gt;    IClientChannelSinkProvider chain = new FormatterSinkProvider_1(); &lt;br /&gt;    IClientChannelSinkProvider sink = chain; &lt;br /&gt;    sink.Next = new FormatterSinkProvider_2(); &lt;br /&gt;    sink = sink.Next; &lt;br /&gt;    return chain; &lt;br /&gt;}&lt;br /&gt;Note The FormatterSinkProvider_1 and FormatterSinkProvider_2 classes in the above code are the&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;classes that you create to create custom formatters.&lt;br /&gt;In this lesson, you learned about channels that enable clients to send messages to remote objects.&lt;br /&gt;Channels also transport information about events that might occur in client or server objects. .NET&lt;br /&gt;Remoting allows you to do event-based programming for your remote applications. In the next lesson,&lt;br /&gt;you will learn how to implement event-based programming for your remoting applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 4: Implementing Events and Delegates&lt;br /&gt;The .NET Framework enables you to implement event handling and delegates in the remoting&lt;br /&gt;applications that you create. This allows you to enhance the functionality of your remoting applications.&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Describe events and delegates&lt;br /&gt;Implement events and delegates in remoting applications&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 30 minutes&lt;br /&gt;Understanding Events and Delegates&lt;br /&gt;You usually associate event-based programming with applications that provide a graphical user interface&lt;br /&gt;(GUI). In such applications, an event is triggered when an action, such as a mouse click, occurs on an&lt;br /&gt;interface element. The information about the event is sent to another object, which responds to the event&lt;br /&gt; event sender event source&lt;br /&gt;by performing a task. The object that raises an event is called the  or  . The&lt;br /&gt;event receiver event sink&lt;br /&gt;object that receives and responds to the event is called the   or  .&lt;br /&gt;You can use the event-based programming model for non-GUI applications, such as .NET Remoting&lt;br /&gt;applications. An event in such an application occurs when the state of the application changes. The&lt;br /&gt;event-based programming model for non-GUI applications also consists of a sender and a receiver.&lt;br /&gt;However, in the communication between the sender and the receiver, the sender does not know which&lt;br /&gt;object or method will receive the event. To ensure smooth communication between two objects,&lt;br /&gt;the .NET Framework provides a special type called delegates.&lt;br /&gt;delegate&lt;br /&gt; is a class that holds a reference to the method that is called when an event is fired. Unlike&lt;br /&gt;A&lt;br /&gt;other classes of the .NET Framework, the delegate class has a signature. The delegate class can hold&lt;br /&gt;references only to the methods that match its signature. The following code shows how to declare an&lt;br /&gt;event delegate.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Public Delegate Sub RetirementHandler(sender As Object, _&lt;br /&gt;    e As RetireEventArgs)&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Visual C#&lt;br /&gt;public delegate void RetirementHandler(object sender, RetireEventArgs e);&lt;br /&gt;After you declare an event delegate, you can define a method to which the event delegate points. The&lt;br /&gt;signature of that method should match the signature of the event delegate. The following code shows the&lt;br /&gt;method to which the event delegate points.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Public Class Action&lt;br /&gt;    ' RetireEvent has the same signature as RetirementHandler.&lt;br /&gt;    Public Sub RetireEvent(sender As Object, e As RetireEventArgs)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;Visual C#&lt;br /&gt;public class Action&lt;br /&gt;{&lt;br /&gt;    //RetireEvent has the same signature as RetirementHandler.&lt;br /&gt;    public void RetireEvent (object sender, RetireEventArgs e)&lt;br /&gt;    {}&lt;br /&gt;}&lt;br /&gt;You then create an instance of the delegate and store the address of the method whose reference the&lt;br /&gt;delegate holds.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Dim a As New Action()&lt;br /&gt;Dim handler As RetirementHandler = AddressOf a.RetireEvent&lt;br /&gt;Visual C#&lt;br /&gt;Action a = new Action();&lt;br /&gt;NewEventHandler handler = new RetirementHandler(a.RetireEvent);&lt;br /&gt;Event delegates are multicasted. Therefore, you can define an event delegate to hold a reference to&lt;br /&gt;multiple event handling methods. The next section&lt;br /&gt; discusses implementing events and delegates in a&lt;br /&gt;remoting application.&lt;br /&gt;Implementing Events and Delegates in Remoting Applications&lt;br /&gt;Events and delegates enable you to enhance the functionality of your remoting application. You can use&lt;br /&gt;delegates to implement callback functions, event programming, and asynchronous programming in your&lt;br /&gt;remoting applications. Events use delegates to enable callback functions to the client in remoting&lt;br /&gt;applications. This enables the client and the remote application to function as domain servers. Therefore,&lt;br /&gt;you need to design a server/server application instead of designing a client/server application. &lt;br /&gt;callback&lt;br /&gt;Note A  function is a reference to a method that you pass to another method. When the second&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;method calls the referenced method, it actually calls back the first method.&lt;br /&gt;When you implement events and delegates in remoting applications, you should ensure that: &lt;br /&gt;The delegates you pass to the server for callback functions are delegates to instance members&lt;br /&gt;because you cannot call static members remotely.&lt;br /&gt;You register a channel to listen for the callback function.&lt;br /&gt;Delegates enable the methods, which handle events, to be abstract. Events invoke all the delegates that&lt;br /&gt;are registered to listen to that type of event. The delegates are similar to callback functions; the only&lt;br /&gt;difference between a delegate and a callback function is that a client must register the delegate with the&lt;br /&gt;event. You must perform the following tasks to enable delegates to listen for events in the remoting&lt;br /&gt;application: &lt;br /&gt;1.Define an event and the extension to the EventArgs class that the event passes to a delegate.&lt;br /&gt;2.Define a delegate that wraps an event-handler method of the signature required by the event.&lt;br /&gt;3.Define a method that handles the event.&lt;br /&gt;4.Initialize a delegate that wraps the event-handler method.&lt;br /&gt;5.Add the delegate to the event.&lt;br /&gt;The following code shows how to implement events and delegates in a remoting application. &lt;br /&gt;Visual Basic .NET&lt;br /&gt;' Implement an EventArgs class&lt;br /&gt;Public Class RetirementEventArgs&lt;br /&gt;    Inherits EventArgs&lt;br /&gt;&lt;br /&gt;    Private ret_age as Integer&lt;br /&gt;&lt;br /&gt;    Public Sub New(ByVal age as Integer)&lt;br /&gt;        ret_age = age&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Public ReadOnly Property RetirementAge() as Integer&lt;br /&gt;        Get&lt;br /&gt;            Return ret_age&lt;br /&gt;        End Get&lt;br /&gt;    End Property&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Define Delegate to handle the RetirementEvent&lt;br /&gt;Public Delegate Sub RetirementEventHandler(ByVal sender As Object, ByVal _&lt;br /&gt;    e as RetirementEventArgs)&lt;br /&gt;&lt;br /&gt;' Implement a class that raises the retirement event&lt;br /&gt;Public Class Employee&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    Public Event retirement as RetirementEventHandler&lt;br /&gt;    Public Sub Retire()&lt;br /&gt;        Dim e as New RetirementEventArgs(58)&lt;br /&gt;        RaiseEvent retirement(Me, e)&lt;br /&gt;    End Sub&lt;br /&gt;End class&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;' Implement class that handles the retirement event&lt;br /&gt;Public Class HR&lt;br /&gt;    Public Shared Sub Main()&lt;br /&gt;        Dim emp as New Employee()&lt;br /&gt;        Dim hr as New HR()&lt;br /&gt;        AddHandler emp.retirement, AddressOf hr.RetirementHandler&lt;br /&gt;        &lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;Public Shared Sub RetirementHandler(ByVal sender as Object, ByVal e as _&lt;br /&gt;    RetirementEventArgs)&lt;br /&gt;    Console.writeline("Retirement Age is " &amp;amp; Cint(e.RetirementAge))&lt;br /&gt;    End Sub&lt;br /&gt;End Class&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;//Implement an EventArgs class&lt;br /&gt;public class RetirementEventArgs : EventArgs&lt;br /&gt;{&lt;br /&gt;    private int ret_age;&lt;br /&gt;&lt;br /&gt;    public RetirementEventArgs(int age)&lt;br /&gt;{&lt;br /&gt;    ret_age = age;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int RetirementAge &lt;br /&gt;{&lt;br /&gt;    get&lt;br /&gt;    {&lt;br /&gt;        return ret_age;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Define Delegate to handle the RetirementEvent&lt;br /&gt;public delegate void RetirementEventHandler(Object sender, &lt;br /&gt;    RetirementEventArgs e);&lt;br /&gt;&lt;br /&gt;//Implement a class that raises the retirement event&lt;br /&gt;public class Employee : MarshalByRefObject&lt;br /&gt;{&lt;br /&gt;    public event RetirementEventHandler retirement;&lt;br /&gt;&lt;br /&gt;    public void Submit()&lt;br /&gt;    {&lt;br /&gt;        RetirementEventArgs e = new RetirementEventArgs(58);&lt;br /&gt;        retirement(this, e);&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Implement class that handles the retirement event&lt;br /&gt;public class HR&lt;br /&gt;{&lt;br /&gt;    public static void Main()&lt;br /&gt;    {&lt;br /&gt;        Employee emp = new Employee();&lt;br /&gt;        HR hr = new HR();&lt;br /&gt;        emp.retirement+= new RetirementEventHandler(hr.RetirementHandler);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void RetirementHandler(Object sender, RetirementEventArgs e)&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine("Retirement Age is " + (int)e.RetirementAge);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;Besides implementing event-based programming in your remoting applications, you can also implement&lt;br /&gt;asynchronous programming.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 5: Implementing Asynchronous Methods&lt;br /&gt;.NET asynchronous programming enables you to call and execute a method while the program, which&lt;br /&gt;calls the methods, continues to execute. This enables methods to continue executing without waiting for&lt;br /&gt;the called methods to finish execution, which increases the speed of applications. .NET Remoting&lt;br /&gt;supports asynchronous programming. Asynchronous programming in a remoting scenario is similar to&lt;br /&gt;asynchronous programming in a single application domain or context. Therefore, you can make calls to&lt;br /&gt;remote methods on servers while the application continues to execute on the client computer.&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Describe asynchronous programming&lt;br /&gt;Implement asynchronous programming in remoting applications&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 30 minutes&lt;br /&gt;Asynchronous Methods&lt;br /&gt;In .NET asynchronous programming, a call is made to a class method while the calling program&lt;br /&gt;continues to execute. This happens until either the specified callback is made or until blocking, polling,&lt;br /&gt;or waiting for the call to complete. You can use .NET asynchronous programming to: &lt;br /&gt;Perform file IO, stream IO, and socket IO&lt;br /&gt;Create networking applications (HTTP, TCP)&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;Define remoting channels (HTTP, TCP) and proxies&lt;br /&gt;Develop XML Web services using ASP.NET&lt;br /&gt;Create ASP.NET Web Forms&lt;br /&gt;Create message queues over Microsoft Message Queuing (MSMQ)&lt;br /&gt;Define asynchronous delegates &lt;br /&gt;In .NET asynchronous programming, the server splits an asynchronous operation into two tasks. The&lt;br /&gt;first task takes inputs from the client and starts the asynchronous operation. In addition, this task takes&lt;br /&gt;an AsyncCallback delegate, which is called when the asynchronous operation completes. The second&lt;br /&gt;task supplies the results of the asynchronous operation to the client. The first task returns a waitable&lt;br /&gt;object that implements the IAsyncResult interface. The client uses the IAsyncResult interface to&lt;br /&gt;determine the status of the asynchronous operation. The server uses the waitable object until it is&lt;br /&gt;returned to the client to maintain any state associated with the asynchronous operation. The client then&lt;br /&gt;supplies the waitable object to the second task to obtain the results of the asynchronous operation. You&lt;br /&gt;implement asynchronous programming in the following ways: &lt;br /&gt;You supply the callback delegate when you begin asynchronous calls.&lt;br /&gt;Use callbacks.&lt;br /&gt;You poll the IAsyncResult.IsCompleted property to determine the completion of&lt;br /&gt;Poll completed.&lt;br /&gt;asynchronous calls.&lt;br /&gt;You use these methods when you need to complete the operation&lt;br /&gt;BeginInvoke, EndInvoke.&lt;br /&gt;prematurely.&lt;br /&gt;You use these methods to wait on IAsyncResult.&lt;br /&gt;BeginInvoke, WaitHandle, EndInvoke.&lt;br /&gt;You use asynchronous delegates to call a method asynchronously. The common language runtime uses&lt;br /&gt;multithreading to implement asynchronous method calls. When you call a delegate synchronously, the&lt;br /&gt;Invoke method calls the target method on the thread on which the caller method is running. If the&lt;br /&gt;compiler supports asynchronous delegates, it generates the Invoke method and the BeginInvoke and&lt;br /&gt;EndInvoke methods.&lt;br /&gt;When the BeginInvoke method is called, the common language runtime queues the request and&lt;br /&gt;immediately returns to the called method. The target method is later called on a thread from the thread&lt;br /&gt;pool. The original thread, which submitted the request, continues executing the target method. If a&lt;br /&gt;callback is specified on the BeginInvoke method, it is called when the target method returns. In the&lt;br /&gt;callback, the EndInvoke method obtains the return value and the in/out parameters. If the callback is not&lt;br /&gt;specified on the BeginInvoke method, you can use the EndInvoke method on the original thread that&lt;br /&gt;submitted a request.&lt;br /&gt;Implementing Asynchronous Methods in Remoting Applications&lt;br /&gt;&lt;br /&gt;The caller decides whether a particular remote call is asynchronous.&lt;br /&gt;Remote types do not have to support asynchronous behavior by their clients.&lt;br /&gt;You need to complete type safety.&lt;br /&gt;You must use the System.Threading objects appropriately to wait or synchronize your methods. &lt;br /&gt;To implement asynchronous programming in a remoting application, complete the following steps: &lt;br /&gt;1.Create an instance of an object that can receive a remote call to a method.&lt;br /&gt;2.Wrap that instance method with an AsyncDelegate method.&lt;br /&gt;3.Wrap the remote method with another delegate.&lt;br /&gt;4.Call the BeginInvoke method on the second delegate, passing any arguments, the AsyncDelegate&lt;br /&gt;method, and some object to hold the state.&lt;br /&gt;5.Wait for the server object to call your callback method.&lt;br /&gt;The following code shows how to call methods asynchronously in a .NET Remoting application.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;' Create an instance of the class that can receive remote calls&lt;br /&gt;Dim remoteObj as New MyRemoteObject()&lt;br /&gt;&lt;br /&gt;' Create delegate to a method that is executed when async method &lt;br /&gt;' finishes execution.&lt;br /&gt;Dim remoteMethod as New AsyncCallback(AddressOf remoteObj.CallBackMethod)&lt;br /&gt;&lt;br /&gt;' Define a delegate to a method&lt;br /&gt;Delegate Sub MyAsyncDelegate()&lt;br /&gt;&lt;br /&gt;' Create a delegate to the method that will be executed asynchronously&lt;br /&gt;Dim remoteDel As New MyAsyncDelegate(AddressOf obj.LongCall)&lt;br /&gt;&lt;br /&gt;' Begin the invocation of the asynchronous method.&lt;br /&gt;remoteDel.BeginInvoke(remoteMethod,nothing)&lt;br /&gt;Visual C#&lt;br /&gt;//Create an instance of the class that can receive remote calls&lt;br /&gt;MyRemoteObject remoteObj = new MyRemoteObject();&lt;br /&gt;&lt;br /&gt;//Create delegate to a method that is executed when async method &lt;br /&gt;//finishes execution.&lt;br /&gt;AsyncCallback remoteMethod = new AsyncCallback(remoteObj.CallBackMethod);&lt;br /&gt;&lt;br /&gt;//Create a delegate to the method that will be executed asynchronously&lt;br /&gt;MyAsyncDelegate remoteDel = new MyAsyncDelegate(obj.LongCall);&lt;br /&gt;&lt;br /&gt;//Begin the invocation of the asynchronous method.&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;remoteDel.BeginInvoke(remoteMethod,nothing);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lesson 6: Configuring and Securing .NET Remoting Objects&lt;br /&gt;The .NET Framework allows you to configure remote applications programmatically by calling&lt;br /&gt;configuration methods inside the application. In addition, the .NET Framework allows you to configure&lt;br /&gt;the remote application by adding the remoting configuration section in the application configuration file.&lt;br /&gt;You can use role-based security to secure remote applications. In addition, you can secure the remote&lt;br /&gt;components hosted in ASP.NET by using Secure Sockets Layer (SSL) and the security features of&lt;br /&gt;Internet Information Services (IIS).&lt;br /&gt; &lt;br /&gt;After this lesson, you will be able to&lt;br /&gt;Describe how to configure remoting applications&lt;br /&gt;Configure secure remote objects&lt;br /&gt;Describe the security options for remote objects&lt;br /&gt; &lt;br /&gt;Estimated lesson time: 30 minutes&lt;br /&gt;Remote Object Configuration&lt;br /&gt;The .NET Framework allows you to configure remote objects programmatically or manually. You can&lt;br /&gt;programmatically configure your remote objects when you do not want to change the properties of&lt;br /&gt;remote objects after they are created and compiled. However, to change the properties of remote objects&lt;br /&gt;dynamically without recompiling code, you use the application configuration file. To configure remote&lt;br /&gt;objects programmatically or manually, you have to provide certain information to the remoting system.&lt;br /&gt;This information enables a client to call your objects remotely. The information that you need to provide&lt;br /&gt;includes&lt;br /&gt;The activation type for the remote object&lt;br /&gt;The channels that the remote object will use to receive messages from clients&lt;br /&gt;The URL of the remote object&lt;br /&gt;The type metadata that describes the type of your remote object&lt;br /&gt;The .NET Framework provides the RemotingConfiguration class in the System.Runtime.Remoting&lt;br /&gt;namespace that allows you to configure your remote components programmatically. The following code&lt;br /&gt;shows how you can set the activation type and application name for your remote object.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;ChannelServices.RegisterChannel(New TcpChannel(8020))&lt;br /&gt;&lt;br /&gt;RemotingConfiguration.Configure(“MyApp.exe.config”);&lt;br /&gt;Table 4.6: Configuration Attributes&lt;br /&gt;Element  Description&lt;br /&gt;&lt;application&gt;  This element contains information about the remote objects that are exposed or&lt;br /&gt;consumed by an application.&lt;br /&gt;&lt;service&gt;  This element contains the objects that are exposed by an application. The&lt;br /&gt;&lt;service&gt; element can occur one or more times in the &lt;application&gt; element. &lt;br /&gt;&lt;wellknown&gt;  This element contains information about server-activated objects exposed by the&lt;br /&gt;application. The &lt;wellknown&gt; element can occur one or more times in the&lt;br /&gt;&lt;service&gt; element. The &lt;wellknown&gt; element has three required attributes:&lt;br /&gt;mode, type, and objectUri. Mode can be Singleton or SingleCall. Type specifies&lt;br /&gt;the type name and the name of the assembly that contains the type&lt;br /&gt;implementation. ObjectUri specifies the endpoint for the URI of an object.&lt;br /&gt;&lt;activated&gt;  This element contains information about the client-activated objects that are&lt;br /&gt;exposed by the application. The &lt;activated&gt; element can occur one or more times&lt;br /&gt;in the &lt;service&gt; element. This element consists of one attribute, type, which&lt;br /&gt;specifies the type of the object and the assembly that implements the remote&lt;br /&gt;object type.&lt;br /&gt;Securing .NET Remoting Objects&lt;br /&gt;You can use code-access security to secure remote objects. This enables you to control the resources that&lt;br /&gt;a remote object can access on a computer. When you enable code-access security, a remote object&lt;br /&gt;receives permissions depending on its security group. Table 4.7 shows the permissions of a remote&lt;br /&gt;object in different security zones.&lt;br /&gt;Table 4.7: Code-Access Security for Remote Objects&lt;br /&gt;Security zone  Access to channel and type?  Access to channel sink&lt;br /&gt;chain?&lt;br /&gt;Everything  Yes  Yes&lt;br /&gt;Full Trust (Local Machine)  Yes  Yes&lt;br /&gt;LocalIntranet  Yes  No&lt;br /&gt;Internet  No  No&lt;br /&gt;Nothing  No  No&lt;br /&gt;If you host remote objects in IIS, you can use the security feature of IIS and SSL to secure remote&lt;br /&gt;objects. IIS hosting provides SSL, which allows you to secure messages sent to or received from remote&lt;br /&gt;objects. In addition, you can use Integrated Windows Authentication or Kerberos to secure the remote&lt;br /&gt;objects hosted in IIS. Therefore, whenever you have a choice between using the HttpChannel and the&lt;br /&gt;TcpChannel class, you should use the HttpChannel class and host your remote objects in IIS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;Summary&lt;br /&gt;You use .NET Remoting to enable communication between different applications residing on the&lt;br /&gt;same computer or on different computers. These computers can be part of the same network or&lt;br /&gt;part of networks in different geographic locations across the world. In addition, .NET Remoting&lt;br /&gt;enables computers running different operating systems to communicate with each other.&lt;br /&gt;You develop a remoting application by creating client and server objects and activating them. You&lt;br /&gt;then use references of the server objects in the client application to enable communication&lt;br /&gt;between the client and the server.&lt;br /&gt;Channels enable a client object running in an application domain, process, or computer to send&lt;br /&gt;messages to another object running in a different application domain, process, or computer. In&lt;br /&gt;addition, channels allow applications to send and receive messages using various protocols, such&lt;br /&gt;as TCP and HTTP.&lt;br /&gt;Events and delegates enable you to enhance the functionality of your remoting application. You&lt;br /&gt;can use delegates to implement callback functions, event programming, and asynchronous&lt;br /&gt;programming in your remoting applications.&lt;br /&gt;You can implement asynchronous programming to make calls to remote methods on servers while&lt;br /&gt;the application continues to execute on the client computer.&lt;br /&gt;You can configure remoting applications programmatically by calling configuration methods&lt;br /&gt;inside the application or by adding the remoting configuration section into the application&lt;br /&gt;configuration file.&lt;br /&gt;You can secure your remoting application by implementing role-based security. In addition, you&lt;br /&gt;can secure the remote components hosted in ASP.NET by using SSL and the security features of&lt;br /&gt;IIS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lab: Creating and Consuming .NET Remoting Objects&lt;br /&gt;In this lab, you will create a chat application that uses .NET Remoting. The chat application allows users&lt;br /&gt;to send messages to all the other users who are currently logged on. The chat application consists of a&lt;br /&gt;ChatCoordinator class, a Server class, and a Client class. The ChatCoordinator class inherits from the&lt;br /&gt;MarshalByRefObject class and is the remotable object in the chat application. The Client objects call&lt;br /&gt;methods on the ChatCoordinator object to send messages to other Client objects. The Server class is a&lt;br /&gt;console application that configures the ChatCoordinator object by using the settings in a .config file. The&lt;br /&gt;ChatCoordinator object and the Client objects use event-based messaging. The chat application consists&lt;br /&gt;of the SubmitEventArgs class, which inherits from the EventArgs class. The ChatCoordinator object is&lt;br /&gt;the source of the SubmitEventArgs event whereas the Client objects are the reciever or the sink of the&lt;br /&gt;SubmitEventArgs event. The solutions to the exercises in this lab can be found in the \Solution folder on&lt;br /&gt;the Su&lt;br /&gt;pplemental Course Materials CD-ROM.&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;Estimated lab time: 90 minutes&lt;br /&gt;Exercise 1: Create the ChatCoordinator.dll Library&lt;br /&gt;In this exercise, you will create the  ChatCoordinator.dll library. The  ChatCoordinator.dll library&lt;br /&gt;consists of ChatCoordinator and SubmitEventArgs classes. To create the  ChatCoordinator.dll library,&lt;br /&gt;perform the following steps: &lt;br /&gt;1.Open Notepad and type the following code.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System&lt;br /&gt;Imports System.Runtime.Remoting&lt;br /&gt;Imports System.Collections&lt;br /&gt;&lt;br /&gt;&lt;serializable()&gt; _&lt;br /&gt;Public Class SubmitEventArgs&lt;br /&gt;    Inherits EventArgs&lt;br /&gt;    Private message As String = Nothing&lt;br /&gt;    Private username As String = Nothing&lt;br /&gt;    Public Sub New(ByVal contribution As String, ByVal contributor _&lt;br /&gt;        As String)&lt;br /&gt;        Me.message = contribution&lt;br /&gt;        Me.username = contributor&lt;br /&gt;    End Sub 'New&lt;br /&gt;&lt;br /&gt;    Public ReadOnly Property Contribution() As String&lt;br /&gt;        Get&lt;br /&gt;            Return message&lt;br /&gt;        End Get&lt;br /&gt;    End Property&lt;br /&gt;&lt;br /&gt;    Public ReadOnly Property Contributor() As String&lt;br /&gt;        Get&lt;br /&gt;            Return username&lt;br /&gt;        End Get&lt;br /&gt;    End Property&lt;br /&gt;End Class 'SubmitEventArgs&lt;br /&gt;&lt;br /&gt;Public Delegate Sub SubmissionEventHandler(ByVal sender As Object, _&lt;br /&gt;    ByVal submitArgs As SubmitEventArgs)&lt;br /&gt;&lt;br /&gt;Public Class ChatCoordinator&lt;br /&gt;    Inherits MarshalByRefObject&lt;br /&gt;    Public Sub New()&lt;br /&gt;        Console.WriteLine("ChatCoordinator created. Instance: " &amp;amp; _&lt;br /&gt;            Me.GetHashCode().ToString())&lt;br /&gt;    End Sub 'New&lt;br /&gt;    Public Overrides Function InitializeLifetimeService() As Object&lt;br /&gt;        Return Nothing&lt;br /&gt;    End Function 'InitializeLifetimeService&lt;br /&gt;&lt;br /&gt;    Public Event Submission As SubmissionEventHandler&lt;br /&gt;&lt;br /&gt;    Public Sub Submit(ByVal contribution As String, ByVal contributor _&lt;br /&gt;        As String)&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;        Console.WriteLine("{0} says: {1}.", contributor, contribution)&lt;br /&gt;        Dim e As New SubmitEventArgs(contribution, contributor)&lt;br /&gt;        RaiseEvent Submission(Me, e)&lt;br /&gt;    End Sub 'Submit&lt;br /&gt;End Class 'ChatCoordinator&lt;br /&gt;Visual C#&lt;br /&gt;using System;&lt;br /&gt;using System.Runtime.Remoting;&lt;br /&gt;using System.Collections;&lt;br /&gt;&lt;br /&gt;[Serializable]&lt;br /&gt;public class SubmitEventArgs : EventArgs{&lt;br /&gt;&lt;br /&gt;    private string _string = null;&lt;br /&gt;    private string _alias = null;&lt;br /&gt;&lt;br /&gt;    public SubmitEventArgs(string contribution, string contributor)&lt;br /&gt;    {&lt;br /&gt;        this._string = contribution;&lt;br /&gt;        this._alias = contributor;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public string Contribution&lt;br /&gt;    {&lt;br /&gt;        get{ return _string; }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public string Contributor&lt;br /&gt;    {&lt;br /&gt;        get { return _alias; }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;public delegate void SubmissionEventHandler(object sender,&lt;br /&gt;    SubmitEventArgs submitArgs);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class ChatCoordinator : MarshalByRefObject&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    public ChatCoordinator()&lt;br /&gt;    {    &lt;br /&gt;        Console.WriteLine("ChatCoordinator created. Instance: " + &lt;br /&gt;            this.GetHashCode().ToString());&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public override object InitializeLifetimeService()&lt;br /&gt;    {&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public event SubmissionEventHandler Submission;&lt;br /&gt;&lt;br /&gt;    public void Submit(string contribution, string contributor)&lt;br /&gt;    {&lt;br /&gt;        Console.WriteLine("{0} sent: {1}.", contributor, contribution);&lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;        SubmitEventArgs e = new SubmitEventArgs(contribution, &lt;br /&gt;            contributor);&lt;br /&gt;&lt;br /&gt;        if (Submission != null)&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine("Broadcasting...");&lt;br /&gt;            Submission(this, e);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;2.Save the file as  ChatCoordinator.vb or  ChatCoordinator.cs.&lt;br /&gt;3.Open the Visual Studio .NET Command Prompt. Type  to&lt;br /&gt;vbc /t: library  ChatCoordinator.vb&lt;br /&gt;compile the code in  ChatCoordinator.vb or type   to&lt;br /&gt;csc /t: library  ChatCoordinator.cs&lt;br /&gt;compile the code in  ChatCoordinator.cs. &lt;br /&gt;Exercise 2: Create a Configuration File for Configuring the ChatCoordinator Object&lt;br /&gt;In this exercise, you will create a configuration file to specify the settings for the ChatCoordinator&lt;br /&gt;remotable object that you created in the previous exercise. To create the configuration file, perform the&lt;br /&gt;following steps: &lt;br /&gt;1.Open Notepad and type the following code.&lt;br /&gt;XML&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;    &lt;system.runtime.remoting&gt;&lt;br /&gt;        &lt;application&gt;&lt;br /&gt;        &lt;service&gt;&lt;br /&gt;            &lt;wellknown &lt;br /&gt;                mode="Singleton" &lt;br /&gt;                type="ChatCoordinator, ChatCoordinator" &lt;br /&gt;                objectUri="Chat"&lt;br /&gt;            /&gt;&lt;br /&gt;        &lt;/service&gt;&lt;br /&gt;        &lt;channels&gt;&lt;br /&gt;        &lt;channel &lt;br /&gt;            ref="http" &lt;br /&gt;            port="8080"&lt;br /&gt;        /&gt;&lt;br /&gt;        &lt;/channels&gt;&lt;br /&gt;    &lt;/application&gt;&lt;br /&gt;    &lt;/system.runtime.remoting&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;2.Save the file as  Central.config.&lt;br /&gt;Exercise 3: Create a Console Application to Activate the ChatCoordinator Object&lt;br /&gt;In this exercise, you will create a console application to activate the ChatCoordinator object by using the&lt;br /&gt;remote configuration settings defined in the  Central.config file. To create the console application,&lt;br /&gt;perform the following steps: &lt;br /&gt;file://C:\Documents%20and%20Settings\lddung\Local%20Settings\Temp\~hhE605.htm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.Open Notepad and type the following code.&lt;br /&gt;Visual Basic .NET&lt;br /&gt;Imports System&lt;br /&gt;Imports System.Diagnostics&lt;br /&gt;Imports System.Runtime.Remoting&lt;br /&gt;Imports System.Runtime.Remoting.Channels&lt;br /&gt;&lt;br /&gt;Public Class Server&lt;br /&gt;    Public Shared Sub Main()&lt;br /&gt;        RemotingConfiguration.Configure("Central.config")&lt;br /&gt;        Console.WriteLine("The host application is currently " &amp;amp; _&lt;br /&gt;            "running. Press Enter to exit.")&lt;br /&gt;        Console.ReadLine()&lt;br /&gt;    End Sub 'Main &lt;br /&gt;End Class 'ServerProcess&lt;br /&gt;Visual C#&lt;br /&gt;&lt;br /&gt;Imports System.Runtime.Remoting.Channels&lt;br /&gt;Imports Microsoft.VisualBasic&lt;br /&gt;&lt;br /&gt;Public Class ChatClient&lt;br /&gt;        Inherits MarshalByRefObject&lt;br /&gt;&lt;br /&gt;    Public Overrides Function InitializeLifetimeService() As Object&lt;br /&gt;        Return Nothing&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;    Private username As String = Nothing&lt;br /&gt;    &lt;br /&gt;    Public Sub New(ByVal [alias] As String)      &lt;br /&gt;        Me.username = [alias]&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Public Sub Run()&lt;br /&gt;        RemotingConfiguration.Configure("Client.config")&lt;br /&gt;        Dim chatcenter As New ChatCoordinator()&lt;br /&gt;        AddHandler chatcenter.Submission, AddressOf Me.SubmissionReceiver&lt;br /&gt;        Dim userInput As String = ""&lt;br /&gt;        While True&lt;br /&gt;            Console.WriteLine("Press 0 (zero) and ENTER to Exit:")&lt;br /&gt;            userInput = Console.ReadLine()&lt;br /&gt;            If userInput = "0" Then Exit While&lt;br /&gt;            chatcenter.Submit(userInput, username)&lt;br /&gt;        End While &lt;br /&gt;        RemoveHandler chatcenter.Submission, AddressOf _&lt;br /&gt;            Me.SubmissionReceiver&lt;br /&gt;    End Sub&lt;br /&gt;&lt;br /&gt;    Public Sub SubmissionReceiver(ByVal sender As Object, ByVal args As _&lt;br /&gt;        SubmitEventArgs)&lt;br /&gt;        If args.Contributor = username Then&lt;br /&gt;            Console.WriteLine("Your message was broadcast.")&lt;br /&gt;        Else&lt;br /&gt;            Console.WriteLine(args.Contributor &amp;amp; " says:" &amp;amp; _&lt;br /&gt;                args.Contribution)&lt;br /&gt;        End If&lt;br /&gt;    End Sub 'SubmissionReceiver&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;    private string username = null;&lt;br /&gt;    public override object InitializeLifetimeService() &lt;br /&gt;    {&lt;br /&gt;        return null;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ChatClient(string alias)&lt;br /&gt;    {&lt;br /&gt;        this.username = alias;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void Run()&lt;br /&gt;    {&lt;br /&gt;        RemotingConfiguration.Configure("Client.config");&lt;br /&gt;        ChatCoordinator chatcenter = new ChatCoordinator();&lt;br /&gt;&lt;br /&gt;compile it in  Client.cs by typing   at the Visual&lt;br /&gt;csc /r:  ChatCoordinator.dll  Client.cs&lt;br /&gt;Studio .NET Command Prompt.&lt;br /&gt;Exercise 5: Create a Configuration File to Configure the ChatClient Object&lt;br /&gt;In this exercise, you will create a   Client.config file to specify the settings to configure the ChatClient&lt;br /&gt;object. To create the  Client.config file, perform the following steps: &lt;br /&gt;1.Open Notepad and type the following code.&lt;br /&gt;XML&lt;br /&gt;&lt;configuration&gt;&lt;br /&gt;    &lt;system.runtime.remoting&gt;&lt;br /&gt;        &lt;application&gt;&lt;br /&gt;        &lt;client&gt;&lt;br /&gt;        &lt;wellknown &lt;br /&gt;            type="ChatCoordinator, ChatCoordinator"&lt;br /&gt;            url="http://localhost:8080/Chat"&lt;br /&gt;        /&gt;&lt;br /&gt;        &lt;/client&gt;&lt;br /&gt;        &lt;channels&gt;&lt;br /&gt;        &lt;channel &lt;br /&gt;            ref="http" &lt;br /&gt;            port="0"&lt;br /&gt;        /&gt;&lt;br /&gt;        &lt;/channels&gt;&lt;br /&gt;        &lt;/application&gt;&lt;br /&gt;    &lt;/system.runtime.remoting&gt;&lt;br /&gt;&lt;/configuration&gt;&lt;br /&gt;
&lt;p&gt;2.Save the file as  Client.config.&lt;/p&gt;

</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/remoting-in-net.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3582028397384288492.post-842679471115054577</guid><pubDate>Mon, 02 Mar 2009 09:16:00 +0000</pubDate><atom:updated>2012-06-21T08:44:30.781+07:00</atom:updated><title>Ajax</title><description>1 - Create 2 file are testAjax.htm and time.asp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2 - Code for testAjax.html are:&lt;br /&gt;&lt;br /&gt;&amp;lt;body&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&gt;&lt;br /&gt;function ajaxFunction()&lt;br /&gt; {&lt;br /&gt;var xmlHttp;&lt;br /&gt; try&lt;br /&gt;   {&lt;br /&gt;  // Firefox, Opera 8.0+, Safari&lt;br /&gt;  xmlHttp=new XMLHttpRequest();&lt;br /&gt;  }&lt;br /&gt; catch (e)&lt;br /&gt;   {&lt;br /&gt;  // Internet Explorer&lt;br /&gt;  try&lt;br /&gt;     {&lt;br /&gt;    xmlHttp=new   ActiveXObject("Msxml2.XMLHTTP");&lt;br /&gt;    }&lt;br /&gt;   catch (e)&lt;br /&gt;     {&lt;br /&gt;    try&lt;br /&gt;       {&lt;br /&gt;      xmlHttp=new   ActiveXObject("Microsoft.XMLHTTP");&lt;br /&gt;      }&lt;br /&gt;     catch (e)&lt;br /&gt;       {&lt;br /&gt;      alert("Your browser does   not support AJAX!");&lt;br /&gt;      return false;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;     xmlHttp.onreadystatechange=function()&lt;br /&gt;     {&lt;br /&gt;     if(xmlHttp.readyState==4)&lt;br /&gt;       {&lt;br /&gt;         document.myForm.time.value=xmlHttp.responseText;&lt;br /&gt;       }&lt;br /&gt;     }&lt;br /&gt;     xmlHttp.open("GET","time.asp",true);&lt;br /&gt;     xmlHttp.send(null);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&gt;&lt;br /&gt;&amp;lt;form name="myForm"&gt;&lt;br /&gt;Name: &amp;lt;input type="text"&lt;br /&gt;onkeyup="ajaxFunction();"   name="username" /&gt;&lt;br /&gt;Time: &amp;lt;input type="text" name="time"&gt;&lt;br /&gt;&amp;lt;/form&gt;&lt;br /&gt;&amp;lt;/body&gt;&lt;br /&gt;&amp;lt;/html&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3 - Code for time.asp are:&lt;br /&gt;&lt;%    response.expires=-1    response.write(time)    %&gt;                 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4 - Copy 2 file testAjax.htm and time.asp to C:\Inetpub\wwwroot\TestAjax folder&lt;br /&gt;5 - Click Control Panel ----&gt; Administrative Tools -----&gt; Internet Information Services ------&gt; local computer ------&gt; Web Site -------&gt; Default Web Site (Right Click) -------&gt; Start&lt;br /&gt;6 - Type address http://localhost/New%20Folder/testAjax.htm in browser&lt;br /&gt;7 - Input Name&lt;br /&gt;8 - View time auto change in TimeTextField when NameTextField change&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note:&lt;br /&gt;*****If don't have C:\Inetpub folder&lt;br /&gt;-----&gt; Add or Remove Programs ----&gt; Add/Remove Windows Components ------&gt; checked IIS -----&gt; input SetupWindow disc -----&gt; Ok&lt;br /&gt;*****Tags html is false. You edit please



&lt;!-- Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị --&gt;
&lt;g:plusone annotation="inline"&gt;&lt;/g:plusone&gt;

&lt;!-- Đặt cuộc gọi hiển thị này ở nơi thích hợp --&gt;
&lt;script type="text/javascript"&gt;
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
&lt;/script&gt;</description><link>http://whatisthis-caigithenay.blogspot.com/2009/03/ajax.html</link><author>noreply@blogger.com (trungbozo)</author><thr:total>0</thr:total></item></channel></rss>