<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Jaszeer's Weblog</title>
	<atom:link href="http://jaszeer.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaszeer.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 25 May 2011 18:58:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jaszeer.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Jaszeer's Weblog</title>
		<link>http://jaszeer.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jaszeer.wordpress.com/osd.xml" title="Jaszeer&#039;s Weblog" />
	<atom:link rel='hub' href='http://jaszeer.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Inside WCF</title>
		<link>http://jaszeer.wordpress.com/2011/05/25/inside-wcf/</link>
		<comments>http://jaszeer.wordpress.com/2011/05/25/inside-wcf/#comments</comments>
		<pubDate>Wed, 25 May 2011 18:58:21 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[ASMX]]></category>
		<category><![CDATA[.SVC]]></category>
		<category><![CDATA[ServiceDebug]]></category>
		<category><![CDATA[FaultContract]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=74</guid>
		<description><![CDATA[The Revolution of WCF Obviously the limitations of ASMX have led the revolution of WCF. So what are those limitations for ASMX? The revolution of ASMX came into existence when you had to talk to get data from other service providers before the ASMX companies used to have their own common standard mechanism to converse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=74&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>The Revolution of WCF</strong></p>
<p>Obviously<br />
the limitations of ASMX have led the revolution of WCF. So what are those limitations<br />
for ASMX?</p>
<p>The revolution of ASMX came into existence<br />
when you had to talk to get data from other service providers before the ASMX<br />
companies used to have their own common standard mechanism to converse the<br />
trade in the between the companies like EDI or calling a asp  pages. A company would publish their<br />
application as ASMX only if it was really distributed or enterprise<br />
application, so enterprise or distributed application is usually built on ASMX<br />
along with WSE extensions, MSMQ, COM and .NET and as we know from our<br />
experience that there were countless successful apps built on these concepts so<br />
Microsoft realized they have too many layers.</p>
<p>The<br />
limitations of ASMX</p>
<ol>
<li>RPC calls</li>
<li>Dependent on<br />
HTTP/IIS</li>
<li>Classic XmlSerializer</li>
</ol>
<p>So,<br />
Microsoft realized lets upgrade ASMX so that it can serve for other protocols<br />
and later realize why can’t we do the same for HTTP protocol which evolve WCF –<br />
basicHTTP</p>
<p><strong>Let’s look into the difference between ASMX<br />
and WCF</strong></p>
<p><strong>ASMX<br />
</strong></p>
<ul>
<li>Uses XmlSerializer</li>
<li>Serializes only Public methods</li>
<li>Soap Extentions, Customized SOAP Messages</li>
<li>Requires HTTP transportation with IIS</li>
<li>.asmx</li>
<li>Role-based security</li>
<li>Unhandled exceptions are handled as SOAP Faults</li>
<li>Soap Exception is generic exception to handle errors</li>
<li>Uses HTTPContext Object for state storage</li>
</ul>
<p><strong>WCF </strong></p>
<ul>
<li>Uses DataContractSerialzier</li>
<li>Serializes all methods including private methods</li>
<li>However it does support XmlSerialization</li>
<li>Soap Extentions arent supported</li>
<li>Transportation protocols HTTP. TCP, MSMQ, named pipes</li>
<li>.svc</li>
<li>You can still use asmx for WCF just to support asmx client apps<br />
just by adding handler on the app.config</li>
<li>Supports Claims based security model  and doesn’t depend on WSE mechanism</li>
<li>Unhandled exception thorws a SOAP Faults but you override this behavior<br />
by adding a servicedebug element</li>
<li>Faultexception&lt;T&gt; where T is the datacontract , you can use<br />
DataContract to define FaultContract</li>
<li><strong>·<br />
</strong>You can use HTTPContext Object and as well<br />
implement <strong>System.ServiceModel.IExtensibleObject&lt;T&gt;</strong><br />
interface (<strong>ServiceHostBased</strong> and <strong>InstanceContext)</strong></li>
<li><strong>ServiceHostBased</strong> allows access to<br />
all the service instances in the same host to access the same state data. The <strong>instancecontext</strong><br />
allows only in one instance</li>
</ul>
<p><strong>Code Samples<br />
for WCF</strong></p>
<pre>         &lt;system.web&gt;
    &lt;compilation&gt;
        &lt;compilation debug="true"&gt;
            &lt;buildProviders&gt;
                &lt;remove extension=".asmx"/&gt;
                &lt;add extension=".asmx"
                     type="System.ServiceModel.ServiceBuildProvider,
                     Systemm.ServiceModel,
                     Version=3.0.0.0,
                     Culture=neutral,
                     PublicKeyToken=b77a5c561934e089" /&gt;
            &lt;/buildProviders&gt;
        &lt;/compilation&gt;
    &lt;/compilation&gt;</pre>
<p>&lt;/system.web&gt;</p>
<pre>&lt;configuration&gt;
    &lt;system.serviceModel&gt;
        &lt;services&gt;
            &lt;service name="Service "&gt;
                &lt;endpoint
                    address="EmployeeService"
                    binding="<strong>basicHttpBinding</strong>"
                    contract="IEmployeeService "/&gt;
            &lt;/service&gt;
        &lt;/services&gt;
    &lt;/system.serviceModel&gt;
&lt;/configuration&gt;</pre>
<p><strong> </strong></p>
<p>[DataContract]</p>
<p>public<br />
class FindEmployeeFault</p>
<p>{</p>
<p>[DataMember]</p>
<p>public string Request;</p>
<p>[DataMember]</p>
<p>public string Description;</p>
<p>}</p>
<p>[ServiceContract]</p>
<p>public<br />
interface IEmployeeManager</p>
<p>{<br />
[OperationContract(Action = "FindEmployeeByLastName")]<br />
[FaultContract(typeof(EmployeeService.FaultContracts.FindEmployeeFault))]<br />
EmployeeService.DataContracts.Employee FindEmployeeByLastName(string request);</p>
<p>}</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=74&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2011/05/25/inside-wcf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Dataset Or Custom collection objects</title>
		<link>http://jaszeer.wordpress.com/2009/08/05/dataset-or-custom-collection-objects/</link>
		<comments>http://jaszeer.wordpress.com/2009/08/05/dataset-or-custom-collection-objects/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 20:04:06 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Collection objects]]></category>
		<category><![CDATA[DataSets]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/2009/08/05/dataset-or-custom-collection-objects/</guid>
		<description><![CDATA[I assume the reader has better understanding of DataSets and Custom Collections. having experience with designing several applications, some time or the other i run into a situation which strategy should i adopt for data transformation either DataSets OR typed DataSets OR custom collections OR plain XML What is Our problem?  Imagine those common three logical layers—presentation and interface services, business logic [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=69&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">I assume the reader has better understanding of DataSets and Custom Collections.</p>
<p>having experience with designing several applications, some time or the other i run into a situation which strategy should i adopt for data transformation either DataSets OR typed DataSets OR custom collections OR plain XML</p>
<p><strong>What is Our problem?</strong></p>
<p> Imagine those common three logical layers—presentation and interface services, business logic with core functionalities, and data access, where all database stuff and messaging happens.</p>
<p>When considering factors such as the ability to cascade changes (such as new data schemas) through layers and the amount of overhead involved when data is moved from one layer to the next. Plus you need a business tier to execute your business logic, and you need a DAL to provide Create/Read/Update/Delete (CRUD) functions to the rest of the system. There are two primary ways to provide this functionality—by using a commercial Object/Relational (O/R) mapping tool or by rolling your own DAL.</p>
<p>An O/R mapper works by mapping custom objects to entities into a relational database. Through an XML file or any other form of a settings container, the tool shields you from relying on any knowledge of the underlying database. You work with domain-specific objects provided to you by the mapper. On the opposite end of the spectrum is the other more common approach, building your own DAL. Here your primary problem is making a decision about the mechanism used to pass data around.</p>
<p>All things considered, I&#8217;d say that four options are worth spending some time on:</p>
<p>unTyped DataSets, typed DataSets, custom collections, and plain XML.</p>
<p> </p>
<p><strong>Plain XML</strong></p>
<p>Using plain XML text is the least attractive option even though it provides full integration with any other platform. It is weakly typed, hard to maintain, performs poorly, and is not a powerful programming interface in the context of an enterprise app.</p>
<p><strong>DataSets &#8211; </strong><strong>Good and Bad</strong></p>
<p><strong>Good</strong></p>
<p>The DataSet is designed to be a general-purpose container of any information that can be expressed in a tabular format</p>
<p>The DataSet was not specifically designed to work with databases, but it does fit well into a pure database scenario. The DataSet was designed to be a datacentric container which you can populate with tabular data from virtually any source</p>
<p>ADO.NET provides a family of objects that bridge DataSets to databases in an intelligent way using DataAdapters</p>
<p>With a DataSet object you can easily pack and transmit any sort of data and combine interrelated data from different sources and tables. In addition, the DataSet is serializable, has integrated XML capabilities, has built-in support for optimistic concurrency, and the ability to define and handle complex relationships between contained tables</p>
<p>If you think of your application design with a SQL Server™ or ADO.NET mindset, opting for the DataSet is a natural choice, and probably the only one you would ever think of.</p>
<p><strong>Bad</strong></p>
<p>The DataSet implements a serialization algorithm that performs less than optimally as the DataSet grows to thousands of rows especially if it uses XMl Serializarion but in 2.0 it uses binary serialization which is pretty fast.</p>
<p> </p>
<p>In complex scenarios, where you need to employ smarter objects with their own behavior that are fully representative of business entities, the DataSet is simply the wrong tool. It&#8217;s the proverbial hammer that makes everything look like a nail.</p>
<p>having DataSets at work in a complex enterprise application with articulated business logic and interoperating entities may not</p>
<p>DataSets should not be used with Web services or, at least, they should not be the sole possible return value of a Web method. You should use Web method overloading (each overload of the same functionality with its own exposed name) and return the same data in other simpler formats</p>
<p><strong>Collection Basics</strong></p>
<p>A collection is a set of homogeneous objects that are managed through the interface of a container class</p>
<p><strong>  Collection Interfaces in the .NET Framework </strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="670">
<tbody>
<tr>
<td valign="top">
<p align="center"><strong>Interface</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top">IEnumerable</td>
<td valign="top">Defines methods to support a simple iteration over a collection</td>
</tr>
<tr>
<td valign="top">ICollection</td>
<td valign="top">Adds size, copy, and synchronization capabilities to enumerable collections</td>
</tr>
<tr>
<td valign="top">IList</td>
<td valign="top">Defines a collection of objects that can be individually accessed by index</td>
</tr>
<tr>
<td valign="top">IDictionary</td>
<td valign="top">Represents a collection of key/value pairs</td>
</tr>
</tbody>
</table>
<p><strong>Collection Classes in the .NET Framework</strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="668">
<tbody>
<tr>
<td valign="top">
<p align="center"><strong>Class</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Interface</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Namespace</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top">Queue</td>
<td valign="top">ICollection</td>
<td valign="top">System.Collections</td>
<td valign="top">A first-in, first-out (FIFO) collection of objects</td>
</tr>
<tr>
<td valign="top">Stack</td>
<td valign="top">ICollection</td>
<td valign="top">System.Collections</td>
<td valign="top">A last-in, first-out (LIFO) collection of objects</td>
</tr>
<tr>
<td valign="top">ArrayList</td>
<td valign="top">IList</td>
<td valign="top">System.Collections</td>
<td valign="top">A weakly typed list of objects</td>
</tr>
<tr>
<td valign="top">StringCollection</td>
<td valign="top">IList</td>
<td valign="top">System.Collections.Specialized</td>
<td valign="top">A strongly typed list of strings</td>
</tr>
<tr>
<td valign="top">Hashtable</td>
<td valign="top">IDictionary</td>
<td valign="top">System.Collections</td>
<td valign="top">A collection of key/value pairs that are organized based on the hash code of the key</td>
</tr>
<tr>
<td valign="top">StringDictionary</td>
<td valign="top">IDictionary</td>
<td valign="top">System.Collections.Specialized</td>
<td valign="top">A hashtable with the key strongly typed as String rather than as Object</td>
</tr>
<tr>
<td valign="top">SortedList</td>
<td valign="top">IDictionary</td>
<td valign="top">System.Collections</td>
<td valign="top">A sorted collection of key/value pairs</td>
</tr>
<tr>
<td valign="top">ListDictionary</td>
<td valign="top">IDictionary</td>
<td valign="top">System.Collections.Specialized</td>
<td valign="top">Singly linked list designed for collections that typically contain 10 items or fewer</td>
</tr>
<tr>
<td valign="top">NameValueCollection</td>
<td valign="top">IDictionary</td>
<td valign="top">System.Collections.Specialized</td>
<td valign="top">A sorted collection of associated string keys and string values that can be accessed either with a key or with an index</td>
</tr>
</tbody>
</table>
<p><strong>Choose a Collection Class</strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="550">
<tbody>
<tr>
<td valign="top">
<p align="center"><strong>Class</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top">Queue and Stack</td>
<td valign="top">you receive data and need to process data one element at a time in a specific order.</td>
</tr>
<tr>
<td valign="top">Arrays</td>
<td valign="top">The most efficient tools for fixed-size, indexed collections. Note that for one-dimensional arrays, compilers use built-in Microsoft intermediate language (MSIL) instructions to process them quickly and more effectively.</td>
</tr>
<tr>
<td valign="top">ArrayList</td>
<td valign="top">An array-like growable alternative to fixed-size arrays that can store any kind of object. Note that many publicly available collection classes use an ArrayList internally and just create a more friendly programming interface around it.</td>
</tr>
<tr>
<td valign="top">StringCollection</td>
<td valign="top">A better choice than ArrayList for a dynamic size array of strings, because it provides a strongly typed interface.</td>
</tr>
<tr>
<td valign="top">Hashtable and ListDictionary</td>
<td valign="top">Good options when key-based access is required. You might want to choose ListDictionary to handle a small number of items (20 or fewer) and opt for Hashtable for greater numbers.</td>
</tr>
<tr>
<td valign="top">HybridDictionary</td>
<td valign="top">A wrapper class that begins as a ListDictionary and automatically switches to Hashtable when the size grows beyond the critical threshold. (Used by some internal ASP.NET classes.)</td>
</tr>
<tr>
<td valign="top">StringDictionary</td>
<td valign="top">A better choice than Hashtables as long as your collections contains only strings.</td>
</tr>
<tr>
<td valign="top">NameValueCollection</td>
<td valign="top">The slowest collection. You should use it only if you want to provide both indexed and key-based access to data.</td>
</tr>
<tr>
<td valign="top">SortedList</td>
<td valign="top">A hybrid of a Hashtable and an array. It behaves like a Hashtable when you access an element by key and mimics an array if you use an index. You should use this class only if you need to maintain the sorted order.</td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p>Most of the above mentioned collection classes aren’t strict with custom business entites, but if we really want strict collection classes then we have to build custom class</p>
<p> </p>
<p><strong>How do we build a custom class</strong></p>
<p>Basics</p>
<p>More or less we have to inherit from most of these interfaces mentioned below</p>
<p><strong>  Collection Interfaces in the .NET Framework </strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="670">
<tbody>
<tr>
<td valign="top">
<p align="center"><strong>Interface</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top">IEnumerable</td>
<td valign="top">Defines methods to support a simple iteration over a collection</td>
</tr>
<tr>
<td valign="top">ICollection</td>
<td valign="top">Adds size, copy, and synchronization capabilities to enumerable collections</td>
</tr>
<tr>
<td valign="top">IList</td>
<td valign="top">Defines a collection of objects that can be individually accessed by index</td>
</tr>
<tr>
<td valign="top">IDictionary</td>
<td valign="top">Represents a collection of key/value pairs</td>
</tr>
</tbody>
</table>
<p> </p>
<p>With above lines of definitions, let do a illustration</p>
<p><strong>OrderInfo Class, Could be an entity class</strong></p>
<p>using System;</p>
<p>using System.ComponentModel;</p>
<p> </p>
<p>namespace Msdn.CuttingEdge.Samples</p>
<p>{</p>
<p>    [Serializable]</p>
<p>    public class OrderInfo</p>
<p>    {</p>
<p>        private int m_id;</p>
<p>        private DateTime m_date;</p>
<p>        private int m_employeeID;</p>
<p>        private string m_customerID;</p>
<p> </p>
<p>        public OrderInfo() {}</p>
<p> </p>
<p>        public OrderInfo(int id)</p>
<p>        {</p>
<p>            m_id = id;</p>
<p>        }</p>
<p> </p>
<p>        public OrderInfo(int id, DateTime date) : this(id)</p>
<p>        {</p>
<p>            m_date = date;</p>
<p>        }</p>
<p> </p>
<p>        public int ID</p>
<p>        {</p>
<p>            get {return m_id;}</p>
<p>        }</p>
<p> </p>
<p>        public DateTime Date</p>
<p>        {</p>
<p>            get {return m_date;}</p>
<p>            set {m_date = value;}</p>
<p>        }</p>
<p> </p>
<p>        public string CustomerID</p>
<p>        {</p>
<p>            get {return m_customerID;}</p>
<p>            set {m_customerID = value;}</p>
<p>        }</p>
<p> </p>
<p>        public int EmployeeID</p>
<p>        {</p>
<p>            get {return m_employeeID;}</p>
<p>            set {m_employeeID = value;}</p>
<p>        }</p>
<p>    }</p>
<p>}</p>
<p><strong><br />
</strong></p>
<p><strong>OrderCollection Class</strong></p>
<p>using System;</p>
<p>using System.Collections;</p>
<p> </p>
<p>namespace Msdn.CuttingEdge.Samples</p>
<p>{</p>
<p>    public class OrderCollection : CollectionBase</p>
<p>    {</p>
<p>        // Class constructor</p>
<p>        public OrderCollection() {}</p>
<p> </p>
<p>        // Add method</p>
<p>        public void Add(OrderInfo o)</p>
<p>        {</p>
<p>            InnerList.Add(o);</p>
<p>        }</p>
<p> </p>
<p>        // Indexer property</p>
<p>        public OrderInfo this[int index]</p>
<p>        {</p>
<p>            get { return (OrderInfo) InnerList[index]; }</p>
<p>            set { InnerList[index] = value; }</p>
<p>        }</p>
<p>    }</p>
<p>}</p>
<p> </p>
<p><strong>Fill the Collection</strong></p>
<p>OrderCollection orders = new OrdersCollection(year);</p>
<p>OR</p>
<pre>public class OrderCollection : Collection&lt;OrderInfo&gt; {}</pre>
<p> <strong>Generics-Powered Collection-Related Classes in .NET</strong></p>
<table border="1" cellspacing="0" cellpadding="0" width="695">
<tbody>
<tr>
<td valign="top">
<p align="center"><strong>Generic Class</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Description</strong></p>
</td>
<td valign="top">
<p align="center"><strong>Non-Generic Counterpart</strong></p>
</td>
</tr>
<tr>
<td valign="top">BindingList&lt;T&gt;</td>
<td valign="top">List that supports complex data-binding scenarios</td>
<td valign="top"><em>None</em></td>
</tr>
<tr>
<td valign="top">Collection&lt;T&gt;</td>
<td valign="top">Provides the base class for a generic collection</td>
<td valign="top">CollectionBase</td>
</tr>
<tr>
<td valign="top">Comparer&lt;T&gt;</td>
<td valign="top">Compares two objects of the same generic type for sorting</td>
<td valign="top">Comparer</td>
</tr>
<tr>
<td valign="top">Dictionary&lt;K, V&gt;</td>
<td valign="top">A collection of key/value pairs</td>
<td valign="top">Hashtable</td>
</tr>
<tr>
<td valign="top">IEnumerable&lt;T&gt;</td>
<td valign="top">A collection that can be iterated using a for-each statement</td>
<td valign="top">IEnumerable</td>
</tr>
<tr>
<td valign="top">KeyedCollection&lt;T, U&gt;</td>
<td valign="top">A keyed collection</td>
<td valign="top">KeyedCollection</td>
</tr>
<tr>
<td valign="top">LinkedList&lt;T&gt;</td>
<td valign="top">A doubly linked list</td>
<td valign="top">None</td>
</tr>
<tr>
<td valign="top">List&lt;T&gt;</td>
<td valign="top">The base class for a list</td>
<td valign="top">ArrayList</td>
</tr>
<tr>
<td valign="top">Queue&lt;T&gt;</td>
<td valign="top">A FIFO collection of objects</td>
<td valign="top">Queue</td>
</tr>
<tr>
<td valign="top">ReadOnlyCollection&lt;T&gt;</td>
<td valign="top">The base class for a generic read-only collection</td>
<td valign="top">ReadOnlyCollectionBase</td>
</tr>
<tr>
<td valign="top">SortedDictionary&lt;K, V&gt;</td>
<td valign="top">A collection of key/value pairs sorted by key</td>
<td valign="top">SortedList</td>
</tr>
<tr>
<td valign="top">Stack&lt;T&gt;</td>
<td valign="top">A simple LIFO collection of objects</td>
<td valign="top">Stack</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/69/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/69/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/69/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=69&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2009/08/05/dataset-or-custom-collection-objects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Iron Python?</title>
		<link>http://jaszeer.wordpress.com/2009/08/05/iron-python/</link>
		<comments>http://jaszeer.wordpress.com/2009/08/05/iron-python/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 20:01:11 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Iron Python]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/2009/08/05/iron-python/</guid>
		<description><![CDATA[What is Iron Python? Are you supposed know about it?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=68&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What is Iron Python?<br />
Are you supposed know about it?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=68&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2009/08/05/iron-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Ethics for Data Access using ADO.NET</title>
		<link>http://jaszeer.wordpress.com/2009/07/20/ethics-for-data-access-using-ado-net/</link>
		<comments>http://jaszeer.wordpress.com/2009/07/20/ethics-for-data-access-using-ado-net/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 16:21:05 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Business Entities]]></category>
		<category><![CDATA[Data Access]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=63</guid>
		<description><![CDATA[I know there are thousands of blogs giving tips on DAL, i thought these tips would refresh your mind as well. ADO.NET Connections           One way to reduce the number of connections is to reuse connections through connection pooling. Open Late, Close Early keep the connection open only as long as you need it. Returning [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=63&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I know there are thousands of blogs giving tips on DAL, i thought these tips would refresh your mind as well.</p>
<p><strong>ADO.NET Connections</strong><br />
          One way to reduce the number of connections is to reuse connections through connection pooling.</p>
<p style="padding-left:30px;"><strong>Open Late, Close Early<br />
</strong>keep the connection open only as long as you need it.</p>
<p><strong>Returning a Single Column or Row</strong><br />
            </p>
<ul>
<li>When you want to execute an action query and do not want to return any data, use the Command object&#8217;s ExecuteNonQuery method</li>
<li>If you want to retrieve a single value, the ExecuteReader, ExecuteXmlReader, and Fill methods are usually overkill. If you use the DataAdapter&#8217;s Fill method to fill a DataSet with a single column and a single row, you are also getting all of the metadata and overhead that comes with the more powerful DataSet object. It would be more efficient to use the Command object&#8217;s ExecuteScalar method.</li>
<li>If all you need are a handful of values from a single row, using the ExecuteScalar (for 1 value) or output parameters executes faster than retrieving a rowset into a DataSet, and then having to pass that data to another application tier</li>
</ul>
<p><strong>Inefficient Queries</strong><br />
              </p>
<ul>
<li>A SELECT statement should only return the columns that are going to be used, possibly for display purposes or some business logic. For example, suppose I return 100 rows of data and you retrieve two extra integer columns that are not used anywhere. Each integer column is 4 bytes, so I am returning 8 bytes per row or 800 extra unused bytes of data. Then, when inserted into a DataSet, which may be passed to another application layer, the XML and supporting metadata that is needed for the extra columns adds to that total.</li>
<li>Superfluous data from the database server to my business logic server and then passing extra data around as XML to services</li>
<li>When a SELECT statement retrieves more rows than it needs. For example, returning 100 rows is overkill when you will only display the top 10. It&#8217;s better to trim the SELECT statement to retrieve only the top 10 records, using the TOP keyword</li>
<li>I recommend avoiding the CommandBuilder object entirely at run time.</li>
<li>Another key point I look for in reviews of SQL code and stored procedures is excessive joins.</li>
</ul>
<p><strong>Commands and Parameters</strong></p>
<ul>
<li>Avoid Sql Statements.</li>
<li>If you really want to use SQL statement use Prepare command with it</li>
</ul>
<p><strong>ADO.NET Transactions</strong></p>
<ul>
<li>Like connections, transactions should be kept as short as possible</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=63&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2009/07/20/ethics-for-data-access-using-ado-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Configure BizTalk Server 2006 R2 EDI to batch outgoing EDI messages</title>
		<link>http://jaszeer.wordpress.com/2009/01/04/configure-biztalk-server-2006-r2-edi-to-batch-outgoing-edi-messages/</link>
		<comments>http://jaszeer.wordpress.com/2009/01/04/configure-biztalk-server-2006-r2-edi-to-batch-outgoing-edi-messages/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 19:31:51 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Batching]]></category>
		<category><![CDATA[Biztalk]]></category>
		<category><![CDATA[Biztalk 2006 R2]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=30</guid>
		<description><![CDATA[Scenario Example from MSFT:  You work for Contoso Winery. Your ERP system outputs invoice messages using a custom XML Schema. You need to turn these custom XML messages into EDI messages to send to a trading partner. The trading partner is located in Ireland, so the EDI messages must be EDIFACT. Also the trading partner [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=30&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span class="ManualSubHeading"><strong>Scenario</p>
<p></strong><span class="ManualTextMain">Example from MSFT:  You work for Contoso Winery. Your ERP system outputs invoice messages using a custom XML Schema. You need to turn these custom XML messages into EDI messages to send to a trading partner. The trading partner is located in Ireland, so the EDI messages must be EDIFACT. Also the trading partner requests that the invoices be sent in batches of three (3). In this scenario, you will deploy the artifacts necessary to turn the XML messages into EDI, and you will configure EDI batching for the trading partner. </span></p>
<p></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><img src="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" border="0" alt="" width="2" height="10" /></p>
<p><span class="ManualSubHeading"><strong>Task 1: Build and Deploy application </strong></span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><strong><span class="ManualSubHeading">Task 2: Configuring the BizTalk Application</span></p>
<p></strong>Create a Recieve Port and Receive location.</span></span></span><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading">Apply Map to receive port</span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading">Create Send port. Apply filters &#8221; <strong>EDI.DestinationPartyName == &#8216;XXX&#8217; and EDI.ToBeBatched == &#8216;False&#8217;</strong> &#8220;</span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading">Create Party Name &#8220;<strong>XXX</strong>&#8221; </span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualTextMain">Once you’ve added this party, right click on the <strong>&#8220;XXX&#8221;</strong> party in the Parties pane and select <strong>EDI Properties</strong>. </span></span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualTextMain">Fill out the <strong>UNB Segment Definition</strong> (scroll down in the left pane to find this: <strong>EDIFACT Properties -&gt; Party as Interchange Receiver –&gt; EDIFACT Interchange Envelope Generation –&gt; UNB Segment Definition</strong>) </span></span></span></span></p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualTextMain">with the following values Using Value UNB2.1 Contoso UNB2.2 ZZZ – Mutually Defined UNB3.1 ContosoBuyer UNB3.2 ZZZ – Mutually Defined </span><span class="ManualTextMain">Now click on the <strong>Interchange Batch Creation Settings</strong> in the left hand pane <strong>(EDIFACT Properties -&gt; Party as Interchange Receiver-&gt; Interchange Batch Creation Settings)</strong>. </span><span>Click on the <strong>Filter</strong> button (opens another dialog box). </span></span></span></span></p>
<p> Under the <strong>Property</strong> column, find &#8220;BTS.ReceivePortName&#8221;</p>
<p><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><span> Leave the <strong>Operator</strong> as == </span></p>
<p><img src="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" border="0" alt="" width="2" height="2" /></p>
<p><a id="task2" name="task2"></a><span class="ManualSubHeading">Task 2: Starting the EDI Application</span></p>
<p><img src="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" border="0" alt="" width="2" height="8" /></p>
<p><span>Complete this Task on:</p>
<p> </p>
<p><img src="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" border="0" alt="" width="2" height="5" /></span></p>
<p><span>a. In the <strong>BizTalk Server 2006 Administration Console</strong>, find the <strong>BizTalk EDI Application</strong>.</span><span class="ManualTextMain">d. This starts the EDI Batching Orchestrations and the Command Receive location.</span></span></span></span><span class="ManualSubHeading"><span class="ManualSubHeading"><span class="ManualSubHeading"><strong></strong></span></span></span></p>
<p>Set the <strong>Value</strong> column to “ReceivePort1” (no quotes). </p>
<p>Press <strong>OK</strong> to close the<strong> Filter</strong> dialog. </p>
<p>Click the radio button next to “<strong>Maximum number of transaction sets in</strong>” </p>
<p>On the combo box under this setting, set the value to <strong>Group</strong>: </p>
<p>In the text box next to <strong>Group</strong>: put the value “3” (no quotes). </p>
<p>Press the <strong>Start</strong> button (found at the bottom of this page). </p>
<p>On the resulting dialog select <strong>Yes</strong>. </p>
<p>Press <strong>OK</strong> to close the <strong>EDI Properties</strong> dialog.</p>
<p> </p>
<p>b. Right-click on the <strong>BizTalk EDI Application</strong> application node and select <strong>Start</strong>.</p>
<p>c. On the <strong>Start</strong> dialog press <strong>Start</strong>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=30&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2009/01/04/configure-biztalk-server-2006-r2-edi-to-batch-outgoing-edi-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>

		<media:content url="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" medium="image" />

		<media:content url="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" medium="image" />

		<media:content url="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" medium="image" />

		<media:content url="http://jaszeer.wordpress.com/wp-admin/images/spacer.gif" medium="image" />
	</item>
		<item>
		<title>Difference between Temp Table &amp; Table Variable</title>
		<link>http://jaszeer.wordpress.com/2008/09/02/difference-between-temp-table-table-variable/</link>
		<comments>http://jaszeer.wordpress.com/2008/09/02/difference-between-temp-table-table-variable/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 14:03:06 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Stored procedures]]></category>
		<category><![CDATA[table variable]]></category>
		<category><![CDATA[Temp Table]]></category>
		<category><![CDATA[Temporary table]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=25</guid>
		<description><![CDATA[Table Variable vs. Temp Table Summary: Feature Table Variable Temp Table Note Table Name Max 128 characters Max 116 characters Data Storage In memory and TempDB TempDB Meta Data In memory TempDB A table variable inherits current database settings and can use the registered UDTs, user defined data types, and xml collections in the database. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=25&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Table Variable vs. Temp Table Summary:</p>
<table class="MsoNormalTable" style="width:644.05pt;margin-left:5.4pt;border-collapse:collapse;" border="0" cellspacing="0" cellpadding="0" width="859">
<tbody>
<tr>
<td style="border:1pt solid windowtext;width:120.2pt;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><strong><span style="font-size:10pt;font-family:Arial;">Feature</span></strong></p>
</td>
<td style="width:1.75in;border:1pt 1pt 1pt medium solid solid solid none windowtext windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><strong><span style="font-size:10pt;font-family:Arial;">Table Variable</span></strong></p>
</td>
<td style="width:99pt;border:1pt 1pt 1pt medium solid solid solid none windowtext windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><strong><span style="font-size:10pt;font-family:Arial;">Temp Table</span></strong></p>
</td>
<td style="width:298.85pt;border:1pt 1pt 1pt medium solid solid solid none windowtext windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><strong><span style="font-size:10pt;font-family:Arial;">Note</span></strong></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Table Name</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Max 128 characters</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Max 116 characters</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;"> </span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Data Storage</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">In memory and <span class="SpellE">TempDB</span></span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span class="SpellE"><span style="font-size:10pt;font-family:Arial;">TempDB</span></span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;"> </span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Meta</span><span style="font-size:10pt;font-family:Arial;"> Data</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">In memory</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span class="SpellE"><span style="font-size:10pt;font-family:Arial;">TempDB</span></span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">A table variable inherits current database settings and   can use the registered <span class="SpellE">UDTs</span>, user defined data   types, and xml collections in the database. A temp table inherits the   settings of <span class="SpellE">TempDB</span> and cannot use the types created   in the user database if the same types do not exist in the <span class="SpellE">TempDB</span>.</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Scope</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Current batch</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Current session</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">Temp tables created in a stored procedure (SP) can be   referenced by dynamic queries in the SP, sub <span class="SpellE">SPs</span>,   triggers fired by the affected tables of the SP.</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Constraints</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><em><span style="font-size:10pt;font-family:Arial;">Allowed</span></em></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Allowed</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">For table variables, since no DDL is allowed, constraints   can not be created in separate DDL statements. </span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">DDL</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Not allowed</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Allowed.</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">E.g. create Index on the temp table.</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Concurrent</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Supported</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><em><span style="font-size:10pt;font-family:Arial;">Supported</span></em></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">Constraints and Indexes with explicit name in a temp table   cause duplicate name error.</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Statistics</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Not supported</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Supported</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">Estimated row number in execution plan for table variable   is always 1</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Parallel execution plan</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><em><span style="font-size:10pt;font-family:Arial;">Supported</span></em><span style="font-size:10pt;font-family:Arial;"> only for select</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Supported </span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;color:black;">Parallel query execution plans are not   generated for queries that modify <span>table</span> variables.</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Transaction and Locking</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Not participate</span>d</p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Participate</span>d</p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;">Data in table variable is not affected if the transaction   is rolled back</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Cause Recompile</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">No</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Yes</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Temp Table creation causes <span class="SpellE">SPs</span>/batches   to recompile</span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">SELECT INTO &lt;t&gt;</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Not supported</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Supported </span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;"> </span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">INSERT &lt;t&gt; EXEC </span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Not supported</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Supported </span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;"> </span></p>
</td>
</tr>
<tr>
<td style="width:120.2pt;border:medium 1pt 1pt none solid solid 0 windowtext windowtext;padding:0 5.4pt;" width="160">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Use</span></p>
</td>
<td style="width:1.75in;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="168">
<p class="MsoNormal" style="margin:3pt 0;"><span class="SpellE"><span style="font-size:10pt;font-family:Arial;">UDFs</span></span><span style="font-size:10pt;font-family:Arial;">, Stored procedures, Triggers,   Batches</span></p>
</td>
<td style="width:99pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="132">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:10pt;font-family:Arial;">Stored procedures, Triggers, Batches</span></p>
</td>
<td style="width:298.85pt;border:medium 1pt 1pt medium none solid solid none 0 windowtext windowtext 0;padding:0 5.4pt;" width="398">
<p class="MsoNormal" style="margin:3pt 0;"><span style="font-size:9pt;font-family:Arial;"> Temp tables can&#8217;t be used in <span class="SpellE">UDFs</span>.</span></p>
</td>
</tr>
</tbody>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jaszeer.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jaszeer.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=25&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2008/09/02/difference-between-temp-table-table-variable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Serialization using C#</title>
		<link>http://jaszeer.wordpress.com/2008/08/08/serialization-using-c/</link>
		<comments>http://jaszeer.wordpress.com/2008/08/08/serialization-using-c/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 15:05:52 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Language features]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Serialization]]></category>
		<category><![CDATA[XMLSerialization]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=20</guid>
		<description><![CDATA[Serialization using C# Steps 1. Create a Sample class library 2. Implement custom XML attributes 3. Write Client Call to serialize to XMLString Example Create a Sample class library &#38; Implement custom XML attributes namespace ExpShoppingList { [XmlRoot("shoppingList")] public class ShoppingList {     private ArrayList listShopping;     public ShoppingList()     {         listShopping = new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=20&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Serialization using C#</strong></p>
<p><strong>Steps<br />
1. Create a Sample class library<br />
2. Implement custom XML attributes<br />
3. Write Client Call to serialize to XMLString </strong></p>
<p><strong>Example<br />
Create a Sample class library &amp; Implement custom XML attributes </strong></p>
<p><em>namespace ExpShoppingList<br />
{<br />
[XmlRoot("shoppingList")]<br />
public class ShoppingList<br />
{<br />
    private ArrayList listShopping;</em></p>
<p><em>    public ShoppingList()<br />
    {<br />
        listShopping = new ArrayList();<br />
    }</em></p>
<p><em>    [XmlElement("item")]<br />
    public Item[] Items<br />
    {<br />
        get<br />
        {<br />
            Item[] items = new Item[listShopping.Count];<br />
            listShopping.CopyTo(items);<br />
            return items;<br />
        }<br />
        set<br />
        {<br />
            if (value == null) return;<br />
            Item[] items = (Item[])value;<br />
            listShopping.Clear();<br />
            foreach (Item item in items)<br />
                listShopping.Add(item);<br />
        }<br />
    }</em></p>
<p><em>    public int AddItem(Item item)<br />
    {<br />
        return listShopping.Add(item);<br />
    }</em></p>
<p><em>    public void LoadData()<br />
    {<br />
        this.AddItem(new Item(&#8220;eggs&#8221;, 1.49));<br />
        this.AddItem(new Item(&#8220;ground beef&#8221;, 3.69));<br />
        this.AddItem(new Item(&#8220;bread&#8221;, 0.89));<br />
    }<br />
}</em></p>
<p><em>// Items in the shopping list<br />
public class Item<br />
{<br />
    private string _name;<br />
    [XmlAttribute("name")]<br />
    public string name<br />
    {<br />
        get { return _name; }<br />
        set { _name = value; }<br />
    }<br />
    [XmlAttribute("price")]<br />
    public double price;</em></p>
<p><em>    public Item()<br />
    {<br />
    }<br />
    public Item(string Name, double Price)<br />
    {<br />
        _name = Name;<br />
        price = Price;<br />
    }<br />
}</em></p>
<p><strong>2. Create a Client Porject, which will Call to Serialize the instantiationed object to string</strong></p>
<p><em>namespace ExportClassTest<br />
{<br />
    class Program<br />
    {<br />
        static void Main(string[] args)<br />
        {</em></p>
<p><em>            ExpShoppingList.ShoppingList myList = new ExpShoppingList.ShoppingList();<br />
            myList.LoadData(); </em></p>
<p><em>            // Serialization<br />
            System.Xml.Serialization.XmlSerializer x = new XmlSerializer(typeof(ExpShoppingList.ShoppingList));<br />
            System.IO.MemoryStream ms = new System.IO.MemoryStream();<br />
            x.Serialize(ms, myList);<br />
            ms.Position = 0;<br />
            ms.Flush() ;<br />
            StreamReader sr = new StreamReader(ms);</em></p>
<p><em>            string s = sr.ReadToEnd();</em></p>
<p><em>           //Console.ReadLine();<br />
        }<br />
    }<br />
}</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jaszeer.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jaszeer.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=20&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2008/08/08/serialization-using-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Linq &amp; C#</title>
		<link>http://jaszeer.wordpress.com/2008/07/31/linq-c30-features/</link>
		<comments>http://jaszeer.wordpress.com/2008/07/31/linq-c30-features/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 15:38:07 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Language features]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Linq]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=10</guid>
		<description><![CDATA[C# &#38; LINQ Features Instantiation you dont need to create a object variable and assign the instantiation to it. Example new MyClass().AddMethod(12,35) ; Extensions Declare a Class and add Static class with Extensions keyword under the same namespace that will add all methods of Static class Extensions to all classes in that namespace Example class [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=10&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>C# &amp; LINQ Features</p>
<p><strong>Instantiation</strong><br />
you dont need to create a object variable and assign the instantiation to it.</p>
<p>Example<br />
new MyClass().AddMethod(12,35) ;</p>
<p><strong>Extensions</strong><br />
Declare a Class and add Static class with Extensions keyword under the same namespace<br />
that will add all methods of Static class Extensions to all classes in that namespace</p>
<p>Example</p>
<p>class Class1<br />
{<br />
    public  Class1()<br />
    {</p>
<p>    }<br />
   public void Method1(string s)<br />
   {<br />
    Console.WriteLine(&#8220;Class2.Method1&#8243;);<br />
   }<br />
}<br />
static class Extensions<br />
{<br />
  static public void Method1(this object o, int i)<br />
  {<br />
    Console.WriteLine(&#8220;Extensions.Method1&#8243;);<br />
  }</p>
<p>  static void Main()<br />
  {<br />
    new Class1().Method1(12);   // Extensions.Method1 is called<br />
    new Class1().Method1(&#8220;12&#8243;); // Class1.Method1 is called<br />
  }<br />
}</p>
<p>Caveats</p>
<p>the Method invocation works is decided at runtime with signature of each functoin call, meaning should it invoke class method or static method<br />
Offcourse the precedence is always the class method not the static method when you have the same signature</p>
<p>Conclusion<br />
this is simlar to polymorphism (Overrides and override), but there it is constraint to only one class here it is global to the namespace</p>
<p><strong>Var keyword</strong><br />
the var keyword comes from the JS Scripting language and i love using it<br />
My programming was built on foundation of VB and continuing with VB.NET, a guy like me likes that &#8220;option sctrict off&#8221;<br />
where it allows you to declare generic Object like System.Object</p>
<p>but it is also available in C# and where it used to give complilation error if you declare object variable</p>
<p>Example<br />
 var processes = new List&lt;ProcessData&gt;();</p>
<p>recomendations<br />
I recommend you to use it with a type not anonymous like<br />
 var processes = new List&lt;of T&gt;();</p>
<p>nevermind i may be wrong, but at the end the compiler creates the code for you and makes your life easy</p>
<p><strong>ObjectInitializer</strong><br />
All these past years of my programming i hated writing many constructers for each possiblity</p>
<p>looked the old way doing things<br />
<em>static class LanguageFeatures<br />
{<br />
  class ProcessData<br />
  {<br />
    public Int32 Id { get; set; }<br />
    public Int64 Memory { get; set; }<br />
    public String Name { get; set; }<br />
  }<br />
  static void Main(string[] args)<br />
  {<br />
    ProcessData processes = new ProcessData();<br />
    processes.Id =&#8221;1&#8243;;  <br />
    processes.Name =&#8221;devenv.exe&#8221;;  <br />
    processes.Memory =&#8221;7123456&#8243;; <br />
  }<br />
}</em></p>
<p>New way of rewriting the code<br />
<em>static class LanguageFeatures<br />
{<br />
  class ProcessData<br />
  {<br />
    public Int32 Id { get; set; }<br />
    public Int64 Memory { get; set; }<br />
    public String Name { get; set; }<br />
  }<br />
  static void Main(string[] args)<br />
  {<br />
    ProcessData processes = new ProcessData(Id=&#8221;1&#8243;,Name=&#8221;devenv.exe&#8221;,Memory =&#8221;7123456&#8243;);<br />
  }<br />
}</em></p>
<p>Conclusion<br />
it reduces the lines of code and you dont have to deal with parameterised constructors</p>
<p> </p>
<p><strong>Anonymous Types</strong><br />
when you think about Types, you could think of int, string and more<br />
if you want to create data collection class,all you get in your mind is property methods key value pair and for individual class and its members</p>
<p>I am really tired of creating classes with property methods.<br />
i found this really cool feature of anonymous types</p>
<p><em>new { process.Id, Name=process.ProcessName,<br />
          Memory=process.WorkingSet64 }<br />
</em>the line would create a class of type unknown classname with properties {id,Name,memory}</p>
<p>Example if wanted to write in legacy style<br />
<em>class Employee {<br />
    private string _FirstName;<br />
    public string FirstName {<br />
        get<br />
        {<br />
            return _FirstName;<br />
        }</em></p>
<p><em>        set<br />
        {<br />
            _FirstName = value;<br />
        }<br />
    }</em></p>
<p><em>    private string _LastName;<br />
    public string LastName<br />
    {<br />
        get<br />
        {<br />
            return _LastName;<br />
        }</em></p>
<p><em>        set<br />
        {<br />
            _LastName = value;<br />
        }<br />
    }<br />
    private string _DeptName;<br />
    public string DeptName<br />
    {<br />
        get<br />
        {<br />
            return _DeptName;<br />
        }</em></p>
<p><em>        set<br />
        {<br />
            _DeptName = value;<br />
        }<br />
    }<br />
}</em></p>
<p>Collection Class<br />
<em>Class Employees :<br />
                    CollectionBase<br />
    {<br />
        public void Add(Employee empObject)<br />
        {<br />
            InnerList.Add(empObject);<br />
        }</em></p>
<p><em>        public void Remove(int index)<br />
        {<br />
            InnerList.RemoveAt(index);<br />
        }<br />
        public Employee Item(int index)<br />
        {<br />
            return (Employee)InnerList[index];<br />
        }<br />
       <br />
    } //end of Employees class</em></p>
<p><em>Employees emplys = new Employees</em>()</p>
<p><strong>The New Generation Code using C# Anonymous types</strong><br />
<em>var Employees = new List&lt;Object&gt;();<br />
Employees.Add( new {FirstName=&#8221;",LastName=&#8221;",DeptName=&#8221;"});</em><br />
Conclusion<br />
offcourse when you start comparing both the old style and new style<br />
the main thing you could see is in the previous one they are predefined one where as the new types late binded<br />
the biggest help for the programmers is the number of lines of code</p>
<p><strong>Anonymous Methods</strong><br />
This is a another anonymous featue, which i have never seen.</p>
<p>this feature is mostly usefull in areas where you use delegates or function pointer</p>
<p>here you will be passing the function implementation code as parameter, but the function will be<br />
executed, when it is invoked</p>
<p>here is a sample Example<br />
<em>  static void DisplayProcesses(Func&lt;Process, Boolean&gt; match)<br />
  {<br />
    var processes = new List&lt;Object&gt;();<br />
    foreach (var process in Process.GetProcesses())<br />
    {<br />
      if (match(process))<br />
      {<br />
        processes.Add( new { process.Id, Name=process.ProcessName,<br />
          Memory=process.WorkingSet64 } );<br />
      }<br />
    }</em></p>
<p><em>    ObjectDumper.Write(processes);<br />
  }</em></p>
<p><em>  static void Main(string[] args)<br />
  {<br />
    DisplayProcesses(process =&gt; process.WorkingSet64 &gt;= 20 * 1024 * 1024);<br />
  }</em></p>
<p>in the above example method DisplayProcesses, is accepting function implementation for expression oriented<br />
and returns boolean data type.<br />
another example is creating function on fly<br />
Example:<br />
<em>myClass1.MyEvent += delegate(string message)</em></p>
<p><em>{</em></p>
<p><em>    Console.WriteLine(&#8220;your message is: {0}&#8221;, message);</em></p>
<p><em>};</em></p>
<p><strong>Shadow and override</strong></p>
<p>shadowing hides the inherited methods from base class,<br />
overriding will override the body implmentation not the signature of the base class<br />
so, if you want to override the signature and body implementation then you have to use &#8220;<strong>new</strong>&#8221; keyword</p>
<p>Example</p>
<p><em>public class InternationalShoppingList : ShoppingList<br />
{<br />
    private ArrayList listShopping;</em></p>
<p><em>    public ShoppingList() : base()<br />
    {<br />
        listShopping = new ArrayList();<br />
    }</em></p>
<p><em>public <strong>new</strong> InternationalItem[] Items<br />
{<br />
        get<br />
        {<br />
            InternationalItem[] items = new InternationalItem[listShopping.Count];<br />
            listShopping.CopyTo(items);<br />
            return items;<br />
        }<br />
        set<br />
        {<br />
            if (value == null) return;<br />
            InternationalItem[] items = (InternationalItem[])value;<br />
            listShopping.Clear();<br />
            foreach (InternationalItem item in items)<br />
                listShopping.Add(item);<br />
        }<br />
    }</em></p>
<p><em>}</em></p>
<p><em>// Items in the shopping list<br />
public class InternationalItem : Item<br />
{<br />
    private string _country;<br />
    public string Country<br />
    {<br />
        get { return _country; }<br />
        set { _country = value; }<br />
    }<br />
}</em></p>
<p><em>public class ShoppingList<br />
{<br />
    private ArrayList listShopping;</em></p>
<p><em>    public ShoppingList()<br />
    {<br />
        listShopping = new ArrayList();<br />
    }</em></p>
<p><em>[XmlElement("item")]<br />
public Item[] Items<br />
    {<br />
        get<br />
        {<br />
            Item[] items = new Item[listShopping.Count];<br />
            listShopping.CopyTo(items);<br />
            return items;<br />
        }<br />
        set<br />
        {<br />
            if (value == null) return;<br />
            Item[] items = (Item[])value;<br />
            listShopping.Clear();<br />
            foreach (Item item in items)<br />
                listShopping.Add(item);<br />
        }<br />
    }</em></p>
<p><em>}</em></p>
<p><em>// Items in the shopping list<br />
public class Item<br />
{<br />
    private string _name;<br />
    public string name<br />
    {<br />
        get { return _name; }<br />
        set { _name = value; }<br />
    }<br />
    public double price;</em></p>
<p><em>    public Item()<br />
    {<br />
    }<br />
    public Item(string Name, double Price)<br />
    {<br />
        _name = Name;<br />
        price = Price;<br />
    }<br />
}<br />
</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jaszeer.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jaszeer.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=10&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2008/07/31/linq-c30-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>
	</item>
		<item>
		<title>Difference between IIS 6.0 and IIS 7.0 Part 1 of 2</title>
		<link>http://jaszeer.wordpress.com/2008/07/14/difference-between-iis-60-and-iis-70/</link>
		<comments>http://jaszeer.wordpress.com/2008/07/14/difference-between-iis-60-and-iis-70/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 19:35:00 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS 7.0]]></category>
		<category><![CDATA[Windows Server 2k8]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=7</guid>
		<description><![CDATA[Performance A good metric listed below is the “efficiency” or “cost” of the number of requests per CPU cycle (RPS / CPU Utilization %).  Using this metric, IIS 7.0/W2K8 RTM is over 10% more efficient then IIS 6.0/WS03 SP2in handling live web platform traffic for the site Listed below the graphical data results is the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=7&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Performance </strong></p>
<p><span style="font-size:x-small;font-family:Calibri;">A good metric listed below is the “efficiency” or “cost” of the number of requests per CPU cycle (RPS / CPU Utilization %). <span> </span>Using this metric, <strong>IIS 7.0/W2K8 RTM is <span style="text-decoration:underline;">over 10%</span> more efficient then IIS 6.0/WS03 SP2</strong>in handling live web platform traffic for the site</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Listed below the graphical data results is the methodology used in this performance analysis.</span></span></p>
<table class="MsoNormalTable" style="width:531.75pt;border-collapse:collapse;margin:auto auto auto -1.15pt;" border="0" cellspacing="0" cellpadding="0" width="709">
<tbody>
<tr style="height:15pt;">
<td style="background:#4f81bd;width:284.25pt;height:15pt;border:black 1pt solid;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Performance Metrics</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K3 SP2</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">WS2K8 RTM</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:85.5pt;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Change</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">RPS / CPU Utilization (%) = <span> </span>Requests per CPU Cycle</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">4.36</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">4.84</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#00b050;"><span style="font-family:Calibri;">10.9%</span></span></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<table class="MsoNormalTable" style="width:531.75pt;border-collapse:collapse;margin:auto auto auto -1.15pt;" border="0" cellspacing="0" cellpadding="0" width="709">
<tbody>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-top:black 1pt solid;background:#4f81bd;border-bottom-color:#f0f0f0;border-left:black 1pt solid;width:284.25pt;height:15pt;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;"> </span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:81pt;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K3 SP2</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:81pt;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">W2K8 RTM</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;border-bottom-color:#f0f0f0;width:85.5pt;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Change</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;background:#4f81bd;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">Performance Indicators</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">A</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">B</span></span></strong></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;background:#4f81bd;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="font-size:9pt;color:#ffffff;"><span style="font-family:Calibri;">(A-B)/A</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">CPU Utilization (%)</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">44.8%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">52.8%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#ff0000;"><span style="font-family:Calibri;">-17.9%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">Web Service -Total Methods Requests/Sec “RPS”</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">194</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">255</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;color:#00b050;"><span style="font-family:Calibri;">31.4%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Current Connections</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">280</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">294</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">5.0%</span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Load Balancing – <span style="color:#000000;"><span> </span>Current Client Connections</span></span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">116</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">116</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">0 </span></span></strong></p>
</td>
</tr>
<tr style="height:15pt;">
<td style="border-right:black 1pt solid;border-left:black 1pt solid;width:284.25pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="379" valign="top">
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">.NET CLR Memory – % Time in GC</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">1.1%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:81pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="108" valign="top">
<p class="MsoNormal" style="text-align:right;margin:0;" align="right"><span style="font-size:9pt;color:#000000;"><span style="font-family:Calibri;">2.5%</span></span></p>
</td>
<td style="border-right:black 1pt solid;border-left-color:#f0f0f0;width:85.5pt;border-top-color:#f0f0f0;border-bottom:black 1pt solid;height:15pt;background-color:transparent;padding:0 5.4pt;" width="114" valign="top"> </td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<p><strong></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Server Efficiency (RPS/ CPU %) – Efficiency of serving live web platform traffic</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">4.36<span>   </span>“<span style="color:#000000;">requests per CPU cycle”</span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>  </span><span> </span>4.84<span>   </span><strong>~ <span style="color:#00b050;">10.9%</span></strong><span style="color:#00b050;"> </span>increased efficiency <strong></strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068380/425x232.aspx" alt="SRV Efficiency" width="425" height="232" /></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">CPU Utilization (%)</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>     </span></span><span style="font-size:9pt;">44.8%</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span>52.8%<span>   </span><strong>~ <span style="color:#ff0000;">17.9%</span> degradation (This is impacted by the increased RPS the W2K8 servers are handling)</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:245px;" src="http://blogs.technet.com/photos/mscom/images/3068390/425x245.aspx" alt="CPU Utilization" width="425" height="245" /></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Total Methods Requests/Sec (RPS)</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">194</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>    </span><span style="color:#000000;">255<span>  </span><span> </span></span><strong>~ <span style="color:#00b050;">31.4%</span> more traffic is being sent to the W2K8 RTM servers</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:254px;" src="http://blogs.technet.com/photos/mscom/images/3068392/425x254.aspx" alt="Web Svc Total Methods" width="425" height="254" /></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Web Service – Current Connections</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">280</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>  </span><span> </span><span style="color:#000000;">294<span>  </span><span> </span></span><strong>~ 5% increase</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068393/425x232.aspx" alt="WEBSvc Current Connections" width="425" height="232" /></span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></strong><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Load Balancing – Current Client Connections</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>    </span><span> </span></span><span style="font-size:9pt;">116</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span><span style="color:#000000;">116<span>  </span><span> </span></span><strong>Equal – as the hardware load balancer maintains the same amount of outstanding open client connections.</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong><span style="font-size:9pt;"><span> <img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068394/425x241.aspx" alt="HW Load Balancing" width="425" height="232" /></span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">.NET CLR Memory – % Time in GC</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#c00000;">W2K3 SP2</span></strong><span style="font-size:9pt;color:#e36c0a;"><span>   </span><span> </span></span><span style="font-size:9pt;">1.1%</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong><span style="font-size:9pt;color:#244061;">W2K8 RTM</span></strong><span style="font-size:9pt;"><span>   </span><span style="color:#000000;">2.5%<span>  </span></span><strong>No significant degradation in “Time in GC”</strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><strong></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><img style="width:425px;height:232px;" src="http://blogs.technet.com/photos/mscom/images/3068395/425x232.aspx" alt=".Net CLR Memory" width="425" height="232" /> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-size:9pt;"><span style="font-family:Calibri;">Performance Overview and methodology:</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="text-decoration:underline;"><span style="font-size:9pt;">Site:</span></span><span style="font-size:9pt;"> </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;"><span style="color:#0000ff;font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;">  </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">During this assessment the live </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;color:windowtext;text-decoration:none;"><span style="font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;"> site was comprised on 80 servers. <span> </span>There were four load balanced clusters of twenty servers each, located in multiple datacenters.<span>  </span>This performance analysis was developed by using a single twenty server cluster on the </span></span><a href="http://www.microsoft.com/"><span style="font-size:9pt;color:windowtext;text-decoration:none;"><span style="font-family:Calibri;">www.microsoft.com</span></span></a><span style="font-size:9pt;"><span style="font-family:Calibri;"> site. <span> </span>The cluster is comprised of 19 Windows Server 2008 RTM servers (W2K8 RTM) and a single Windows Server 2003 SP2 (W2K3 SP2) server all taking live internet facing traffic.<span>  </span>This Lone Windows Server 2003 has become quite famous.<span>  </span>In fact, he actually has his own blog located at </span></span><a href="http://blogs.technet.com/windowsserver/pages/about-lone-server.aspx"><span style="font-size:9pt;"><span style="color:#0000ff;font-family:Calibri;">http://blogs.technet.com/windowsserver/pages/about-lone-server.aspx</span></span></a></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="text-decoration:underline;"><span style="font-size:9pt;">Hardware:</span></span><span style="font-size:9pt;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><span>  </span>Model: HP DL585 G1 (4 dual-core CPUs)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"><span> </span><span> </span>RAM: 32GB </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span><span style="font-family:Calibri;">AppPool Mode’s in IIS 7.0</p>
<p></span></span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:9pt;font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';">         </span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;">Integrated mode[ASp.NET]</span></span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="font-size:9pt;font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';">         </span></span></span><span style="font-size:9pt;"><span style="font-family:Calibri;">Classic .NET AppPool</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">In Previous versions of IIS, the Session of ASP wasnt accessible to ASP.nET. the reason behind in IIS 6 there were two different ISAP dlls[aspnet_ISAPI.dll and asp.dll] for ASP and ASP.NET so they couldnt share the Session and Application objects</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Solution : was we can force the asp extension to use ASP.NET handler in IIS 6.0 </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">This is default feature in  IIS 7.0, which is known as Integrated mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><br />
<span style="font-family:Calibri;">Migrating the Application Configuration<br />
If you simply move the application to IIS7.0 server. it runs this below command.</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">if you want to disable and not have to run the application<br />
add this to application web.config file<br />
&lt;system.webServer&gt;<br />
&lt;validation validateIntegratedModeConfiguration=&#8221;false&#8221; /&gt;   <br />
&lt;/system.webServer</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Command to run the ASP.NET application under IIS 7.0 Integration mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">%windir%\system32\inetsrv\APPCMD.EXE migrate config &lt;Application Path&gt;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Where &lt;Application Path&gt; is the virtual path of the application containing the site name, such as &#8220;Default Web Site/app1&#8243;.</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><br />
<span style="font-family:Calibri;">Moving Back to Classic ASP.NET integration Mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">configure your application pool to run under Classic mode</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Selecting ASP.NET Version for an Application </span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">ASP.NET v1.1 application on /app1:<br />
ASP.NET v2.0 application on /app2:&#8217;</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:9pt;"><span style="font-family:Calibri;">Unfortunately, due to the limitation of the ability to load only one CLR version into a single worker process</span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><span><span style="font-family:Calibri;">Taking Advantage of Integrated ASP.NET Mode<br />
Your ASP.NET application should be using those components which make use of this feature.</span></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jaszeer.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jaszeer.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=7&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2008/07/14/difference-between-iis-60-and-iis-70/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068380/425x232.aspx" medium="image">
			<media:title type="html">SRV Efficiency</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068390/425x245.aspx" medium="image">
			<media:title type="html">CPU Utilization</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068392/425x254.aspx" medium="image">
			<media:title type="html">Web Svc Total Methods</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068393/425x232.aspx" medium="image">
			<media:title type="html">WEBSvc Current Connections</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068394/425x241.aspx" medium="image">
			<media:title type="html">HW Load Balancing</media:title>
		</media:content>

		<media:content url="http://blogs.technet.com/photos/mscom/images/3068395/425x232.aspx" medium="image">
			<media:title type="html">.Net CLR Memory</media:title>
		</media:content>
	</item>
		<item>
		<title>Inside IIS Part 1 of 1</title>
		<link>http://jaszeer.wordpress.com/2008/06/20/inside-iis-part-1-of-1/</link>
		<comments>http://jaszeer.wordpress.com/2008/06/20/inside-iis-part-1-of-1/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 22:47:34 +0000</pubDate>
		<dc:creator>jaszeermohammed</dc:creator>
				<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[32bit]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[windows Server 2k3]]></category>

		<guid isPermaLink="false">http://jaszeer.wordpress.com/?p=4</guid>
		<description><![CDATA[Introduction This arcticle is for those, who has better understanding how to publish the websites using IIS and who does not have indepth knowledge inside IIS Difference between windows 32Bit and 64Bit Difference between kernal and user mode Compare IIS 6.0 with legacy IIS versions Concepts of IIS   The difference between 64 and 32 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=4&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Introduction</span></span></strong></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">This arcticle is for those, who has better understanding how to publish the websites using IIS and who does not have indepth knowledge inside IIS</span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Difference between windows 32Bit and 64Bit </span></span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Difference between kernal and user mode </span></span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Compare IIS 6.0 with legacy IIS versions</span></span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Concepts of IIS </span></span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;font-family:Calibri;"> </span></strong></p>
<div></div>
<p><span style="font-size:small;font-family:Calibri;"></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong>The difference between 64 and 32 bit processors</strong></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"><strong><span><span>1.<span style="font-family:'Times New Roman';">    </span></span></span></strong><strong>Mathematics </strong><strong></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 0.5in;"> </p>
<p class="MsoNormal" style="line-height:normal;margin:0;">
<table class="MsoTableGrid" style="border-right:medium none;border-top:medium none;border-left:medium none;border-bottom:medium none;border-collapse:collapse;margin:auto auto auto 0.5in;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width:60pt;background-color:transparent;border:black 1pt solid;padding:0 5.4pt;" width="80" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">Processor</span></p>
</td>
<td style="border-right:black 1pt solid;border-top:black 1pt solid;border-left:#d4d0c8;width:185.3pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="247" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">Holds</span></p>
</td>
</tr>
<tr>
<td style="border-right:black 1pt solid;border-top:#d4d0c8;border-left:black 1pt solid;width:60pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="80" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">32Bit</span></p>
</td>
<td style="border-right:black 1pt solid;border-top:#d4d0c8;border-left:#d4d0c8;width:185.3pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="247" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">0 to 4,294,967,295</span></p>
</td>
</tr>
<tr>
<td style="border-right:black 1pt solid;border-top:#d4d0c8;border-left:black 1pt solid;width:60pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="80" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">64bit </span></p>
</td>
<td style="border-right:black 1pt solid;border-top:#d4d0c8;border-left:#d4d0c8;width:185.3pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="247" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;font-family:Calibri;">0 to 18,446,744,073,709,551,615</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 0.5in;"> </p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 0.5in;">Obviously this means your computer can do math with larger numbers, and be more efficient with smaller numbers.</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;"><strong> </strong></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"><strong><span><span>2.<span style="font-family:'Times New Roman';">    </span></span></span></strong><strong>Benefits</strong><strong></strong></p>
<p class="MsoListParagraph" style="line-height:normal;margin:0 0 0 0.5in;">To academic institutions and private companies</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">Where large calculations are being performed</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">Huge databases are being accessed</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">Complex problems are being solved</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;"> </p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">The true benefits of this set up don’t come from the amount of bits</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;"><span> </span>A 64-bit processor is made</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">More advanced silicon processes,</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">More transistors</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">Faster speeds.</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;">This is currently where the true benefit of switching to a 64-bit processor lays</p>
<p class="MsoNormal" style="line-height:normal;margin:0 0 0 34.5pt;"><strong> </strong></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"><strong><span><span>3.<span style="font-family:'Times New Roman';">    </span></span></span></strong><strong>Products<br />
AMD-64bit</strong><strong></strong></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"><strong><span><span>4.<span style="font-family:'Times New Roman';">    </span></span></span></strong><strong>Disadavantages</strong></p>
<div></div>
<p><span style="font-size:small;font-family:Calibri;"></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"><span style="font-size:11pt;line-height:115%;font-family:'Calibri','sans-serif';">         Not all software vendors have their applications are built on 64bit, so they arent efficient as they would run on 32bit, cant avail the power of 64bit</span></p>
<p> </p>
<p></span></p>
<p class="MsoNormal" style="text-indent:-0.25in;line-height:normal;margin:0 0 0 34.5pt;"> </p>
<p> </p>
<p class="MsoNormal" style="line-height:normal;margin:0;"> </p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Difference between kernal and user Mode </span></span></strong></p>
<p class="MsoNormal" style="background:white;text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span><span style="font-size:small;font-family:Calibri;">1.</span><span style="font-family:'Times New Roman';">    </span></span></span><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#333333;">Kernel Mode</span></strong><span style="color:#333333;"> </span></span></span></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">In Kernel mode, the executing code has complete and unrestricted access to the underlying hardware. It can execute any CPU instruction and reference any memory address. Kernel mode is generally reserved for the lowest-level, most trusted functions of the operating system. Crashes in kernel mode are catastrophic; they will halt the entire PC. </span></span></span></p>
<p class="MsoNormal" style="background:white;text-indent:-0.25in;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span><span style="font-size:small;font-family:Calibri;">2.</span><span style="font-family:'Times New Roman';">    </span></span></span><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#333333;">User Mode</span></strong><span style="color:#333333;"> </span></span></span></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">In User mode, the executing code has no ability to <em>directly</em> access hardware or reference memory. Code running in user mode must delegate to system APIs to access hardware or memory. Due to the protection afforded by this sort of isolation, crashes in user mode are always recoverable. Most of the code running on your computer will execute in user mode.</span></span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;font-family:Calibri;"> </span></strong></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><strong><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">What Runs Where?</span></span></span></strong></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><strong><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">KERNEL-MODE</span></span></span></strong></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">The kernel-mode programs run in the background, making sure everything runs smoothly &#8211; things like printer drivers, display drivers, drivers that interface with the monitor, keyboard, mouse, etc. These programs all run in such a way that you don&#8217;t notice them.</span></span></span></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">When the computer boots up, Windows calls the KERNEL, the main kernel-mode program that allows all the other programs to run, even the user-mode programs.</span></span></span></p>
<p class="MsoNormal" style="background:#f8fcff;text-indent:0.5in;line-height:normal;margin:0;"><span style="color:#000000;"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><strong><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">USER-MODE</span></span></span></strong></p>
<p class="MsoNormal" style="background:white;line-height:normal;margin:0 0 0 0.5in;"><span style="color:#333333;"><span style="font-size:small;"><span style="font-family:Calibri;">These are the programs that you run when you want specific programs &#8211; e.g., MS Paint, MS Word, and Calculator. These are heavily restricted, as to not crash the system. Windows uses memory-protection services offered by the processor to prevent malicious programs from interfering with the rest of the system and corrupting it.</span></span></span></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;font-family:Calibri;">            </span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;font-family:Calibri;">            <img style="vertical-align:top;" src="http://www.microsoft.com/library/media/1033/technet/images/archive/winntas/evaluate/featfunc/ntfnd2_big.gif" alt="" width="527" height="455" /></span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:small;font-family:Calibri;"> </span></strong></p>
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong></strong> <strong><span style="font-size:small;"><span style="font-family:Calibri;"><span>             </span></span></span></strong> </p>
<p class="MsoNormal" style="line-height:normal;margin:0;"> </p>
<p class="MsoNormal" style="margin:0 0 10pt;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Compare IIS 6.0 with legacy IIS versions</span></span></strong></p>
<table class="MsoNormalTable" style="border-right:medium none;border-top:medium none;border-left:medium none;border-bottom:#cccccc 1pt solid;margin:auto auto auto 12.75pt;" border="1" cellspacing="0" cellpadding="0">
<thead>
<tr>
<td style="border-right:#d4d0c8;border-top:#d4d0c8;background:#999999;border-left:#d4d0c8;width:445.5pt;border-bottom:#cccccc;padding:3.75pt;" colspan="5" width="594">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:9.5pt;color:#ffffff;font-family:'Verdana','sans-serif';">Table 2.1 Basic Functionality in Different Versions of IIS</span></strong></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#cccccc;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:8.5pt;color:#000000;font-family:'Verdana','sans-serif';">Functionality</span></strong></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#cccccc;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:8.5pt;color:#000000;font-family:'Verdana','sans-serif';">IIS 4.0</span></strong></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#cccccc;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:8.5pt;color:#000000;font-family:'Verdana','sans-serif';">IIS 5.0</span></strong></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#cccccc;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:8.5pt;color:#000000;font-family:'Verdana','sans-serif';">IIS 5.1</span></strong></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;background:#cccccc;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><strong><span style="font-size:8.5pt;color:#000000;font-family:'Verdana','sans-serif';">IIS 6.0</span></strong></p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Platform</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Microsoft® Windows NT® 4.0 operating system</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Microsoft® Windows®  2000 Server operating system</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Microsoft® Windows®  XP Professional operating system</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Windows Server 2003</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Architecture</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">32-bit</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">32-bit</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">32-bit and 64-bit</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">32-bit and 64-bit</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Network subsystem</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">TCP/IP kernel</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">TCP/IP kernel</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">TCP/IP kernel</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">HTTP.sys kernel</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Application request processing model</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">MTX.exe: </span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Multiple DLL hosts in High application isolation.</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Inetinfo.exe</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">: In-process as DLLs with Low isolation.</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">DLLHost.exe:</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';"> Multiple DLL hosts in Medium or High application isolation.</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Inetinfo.exe: </span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">In-process as DLLs with Low isolation.</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">DLLHost.exe:</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';"> Multiple DLL hosts in Medium or High application isolation.</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Inetinfo.exe: </span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">In-process as DLLs with Low isolation.</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">W3wp.exe:</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';"> In worker process isolation mode (multiple worker processes).</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Inetinfo.exe:</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';"> Only in IIS 5.0 isolation mode with <em>in-process</em> applications.</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">DLLHost.exe</span></strong><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">: Only in IIS 5.0 isolation mode with <em>out-of-process</em> applications.</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Metabase configuration</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Binary</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Binary</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Binary</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">XML</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Security</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Windows authentication</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Secure Sockets Layer (SSL)</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Windows authentication</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">SSL</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Kerberos</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;border-bottom:#cccccc;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Windows authentication</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">SSL</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Kerberos</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;background:#e9e9e6;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Windows authentication</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">SSL</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Kerberos</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">.NET Passport support</span></p>
</td>
</tr>
<tr>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:70.5pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Remote administration</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">HTMLA<sup>1</sup></span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">HTMLA</span></p>
</td>
<td style="border-right:#d4d0c8;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">No HTMLA</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Terminal Services</span></p>
</td>
<td style="border-right:#cccccc 1pt solid;border-top:#cccccc 1pt solid;border-left:#cccccc 1pt solid;width:85.45pt;border-bottom:#cccccc;background-color:transparent;padding:3.75pt;" width="114" valign="top">
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Remote Administration Tool (HTML)</span></p>
<p class="MsoNormal" style="line-height:140%;margin:0;"><span style="font-size:8.5pt;line-height:140%;font-family:'Verdana','sans-serif';">Terminal Services</span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p> </p>
<p></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/jaszeer.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/jaszeer.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jaszeer.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jaszeer.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jaszeer.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jaszeer.wordpress.com&amp;blog=4002146&amp;post=4&amp;subd=jaszeer&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jaszeer.wordpress.com/2008/06/20/inside-iis-part-1-of-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51e1dcadc0c536f1f72209986b62cad5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jaszeermohammed</media:title>
		</media:content>

		<media:content url="http://www.microsoft.com/library/media/1033/technet/images/archive/winntas/evaluate/featfunc/ntfnd2_big.gif" medium="image" />
	</item>
	</channel>
</rss>
