Few
Tips to ensure your deployed ASP.Net always runs with the best possible
performance and no security information leakages.
1)
In Machine.config introduce the following( if not already there)-
Machine.config:
<system.net>
<connectionManagement>
<add address="*"
maxconnection="100" />
</connectionManagement>
</system.net>
<processModel
autoConfig="true"/>
TO:
<processModel
autoConfig="false"
maxIoThreads="100"
minWorkerThreads="40"
maxWorkerThreads="40"
minIoThreads="30" />
//--Above
would be specific to your Web Server's Configuration. This was suitable for my
requirement
<section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly"/>
TO: to Red below
<section name="deployment" type="System.Web.Configuration.DeploymentSection, System.Web,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication"/>
2)
In Web.config
do the following
A)
Under <system.web> key Introduce :
<deployment
retail="true"/>
This
can be done only after allowDefinition="MachineOnly"
inside Deployment key has been set in
Machine.config- SEE ABOVE)
B)
Modify :
debug =false
, i.e.
<compilation debug="false"
strict="false" explicit="true">
2)
Cache expiration-HTTP Headers
In
IIS- Select your website, Right click any static folder inside your website-
example images. Do following:
Select HTTP Headers
Enable content expiration
Set A Value for "Expire after " say
10 (in days)
Do
this for all the static folders- i.e. whose content does not change very
frequently .
3) GZIP- enable -
Lastly
is GZIP Compression, which can shrink a site's pages by 70% to 90%. Advantages
are -
- Reduced
bandwidth
- Faster page
loads
for your visitors.
Follow
these steps to Enable GZIP
- Edit on
Metabase.xml while the server is active .Its location is -
C:\WINDOWS\system32\inetsrv
- Find
<IIsCompressionSchema /> section and add the file types that are in
your system. For mine it was js dll aspx html css exe
axd. This will look something like below-
<IIsCompressionScheme Location
="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe
aspx
js
css
axd"
>
</IIsCompressionScheme>
Please
Note the attribute above HcOnDemandCompLevel :- This is the Compression level
which is set as 10
Finally
Restart IIS.