Missing Windows Authentication Feature IIS and Windows 10

If you have windows 10 Home or SL version when might be you are unable to see Windows Authentication under IIS options when installing.

To enable “Windows Authentication” either you need to upgrade the OS to Pro version or you can run this command to enable it.

C:\WINDOWS\system32>dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf3856ad364e35~amd64~~10.0.17134.1.mum

The file name will be different based on windows updates. So please update if requires.

SQL Server 2016 Always Encrypted Timeout at IIS

Always Encrypted is a feature designed by the Microsoft in SQL Server 2016 to protect sensitive data, such as credit card numbers or national identification numbers (SSN). It allows clients to encrypt sensitive data inside client applications.

When you work with Always Encrypted in development environment, it will be works fine because it requires certificate keys, which will be already installed on Dev machine. But when you moved to production environment it will not work. The Certificate needs to install on that server to run the web application. Without it encryption will not work. You will get database timed out error or encryption error while run the application.

For example:
Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

To resolve this error, you need to install the certificate on the server for specific user. After that you have to defined, selected user in application pool advanced properties. Which user you need to enabled the “Load user profile” property too under “Process Model”.

iis-load-user-profile

Debugging VS2013/VS2015 Websites Using 64-bit IIS Express

If you are working on ASP.NET MVC web sites in Visual Studio 2013 (VS2013) or 2015 (VS2015), and want to debug 64bit application, you need to do following changes in Visual Studio.

f you don?t do this, you will likely get a message similar to:

?Could not load file or assembly or one of its dependencies. An attempt was made to load a program with an incorrect format.?

For Visual Studio 2013 and Visual Studio 2015:

Tools
  -> Options
   -> Projects and Solutions
    -> Web Projects
     -> Check "Use the 64 bit version of IIS Express for web sites and projects"`

How to enable HTTP Compression of Static and Dynamic Contents IIS

Enabling compression of static and dynamic contents of your website will be more help to load your website faster on browsers.

To enabling both you must have to install “Dynamic Compression” and “Static Compression” on the server features and roles.

Open server manager
Roles > Web Server (IIS)
Role Services (scroll down) > Add Role Services
Add desired role (Web Server > Performance > Dynamic Content Compression & Static Content Compression)
Next, Install, Wait for couple of seconds?Done!

To Enable it:
Open your web.config and add the following configuration in webServer tag.

<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true"/>
<httpCompression noCompressionForHttp10="false" noCompressionForProxies="false" dynamicCompressionDisableCpuUsage="93" dynamicCompressionEnableCpuUsage="93" staticCompressionDisableCpuUsage="99" staticCompressionEnableCpuUsage="99">
<scheme name="gzip" dll="%Windir%\System32\Inetsrv\gzip.dll" staticCompressionLevel="9" dynamicCompressionLevel="4" doDynamicCompression="true" doStaticCompression="true"/>
</httpCompression>
</system.webServer>