Finishing reading the Luis Abreu´s book, in last chapter he speaks about the page life-cycle and I remembered of performance detail that we can use in ASP.NET applications around HttpModules and I implemented it in Projetando.NET website.
In machine.config file there is a section called httpModules where we have several modules that, for default, are related and will be performed during request; here is some examples: OutputCache, Session, FormsAuthentication, etc. But, in some applications, these modules aren't used and, in this case, we can remove them of the application through the following Web.Config configuration:
<httpModules>
<remove name="Session" />
<remove name="WindowsAuthentication" />
<remove name="FormsAuthentication" />
<remove name="PassportAuthentication" />
<remove name="UrlAuthorization" />
<remove name="FileAuthorization" />
</httpModules>
The BCL Team work in a new type collection called (temporary) HashSet that is a collection containing unique elements. Your own Add method returns a boolean value indicating if item was added or not.
While we haven't this collection, you can use Wintellect's PowerCollections.Set<T>.