Microsoft Internet Information Server Case Studies & Practical Application 2 — Questions and Answers
Question 1: A company's IIS server is serving a mix of static HTML and ASP.NET pages. Users report that static files load fast but ASP.NET pages are slow under load. Which IIS feature should you tune first?
- Increase the application pool queue length
- Enable output caching for ASP.NET responses (Correct answer)
- Disable HTTP compression for dynamic content
- Switch the application pool to Classic pipeline mode
Correct answer: Enable output caching for ASP.NET responses
Enabling output caching for dynamic ASP.NET responses reduces repeated processing and significantly improves throughput under load.
Question 2: An administrator needs to migrate a legacy ASP application from IIS 6 to IIS 10. The application uses COM objects registered in-process. What is the recommended approach?
- Run the application in an IIS 10 Integrated pipeline application pool
- Use the IIS 6 Management Compatibility role and keep Classic pipeline mode (Correct answer)
- Rewrite the application in ASP.NET before migrating
- Install IIS 6 side-by-side on the same server
Correct answer: Use the IIS 6 Management Compatibility role and keep Classic pipeline mode
The IIS 6 Management Compatibility role combined with a Classic pipeline application pool allows legacy ASP and COM-dependent applications to run on modern IIS without rewriting.
Question 3: A web farm operator notices that session state is lost when users are round-robined to different IIS nodes. What is the best solution?
- Enable sticky sessions on the load balancer only
- Configure a shared SQL Server or Redis session state provider (Correct answer)
- Store session data in the IIS application pool worker process memory
- Disable session state to avoid the issue
Correct answer: Configure a shared SQL Server or Redis session state provider
A centralized session state provider like SQL Server or Redis ensures all nodes share the same session data regardless of which server handles the request.
Question 4: After enabling SSL on an IIS site, clients using TLS 1.0 can no longer connect. The security team requires TLS 1.2 minimum. Where in Windows do you enforce the TLS version restriction?
- IIS Manager > SSL Settings
- Windows Registry under SCHANNEL\Protocols (Correct answer)
- web.config <system.webServer> section
- IIS applicationHost.config bindings element
Correct answer: Windows Registry under SCHANNEL\Protocols
TLS protocol versions are controlled by the Windows SChannel registry keys under HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
Question 5: A developer deploys a new ASP.NET Core app to IIS using the in-process hosting model. The site returns HTTP 500.30. What is the most likely cause?
- The .NET Core Hosting Bundle is not installed on the server (Correct answer)
- The application pool identity lacks read permission on the wwwroot folder
- The SSL certificate has expired
- The application pool is set to 32-bit mode
Correct answer: The .NET Core Hosting Bundle is not installed on the server
HTTP 500.30 indicates the ASP.NET Core in-process handler failed to start, most commonly because the .NET Core Hosting Bundle is missing.
Question 6: An IIS administrator wants to prevent directory browsing on all sites except one specific virtual directory used for file downloads. What is the most precise way to allow it only there?
- Enable directory browsing globally in IIS Manager and disable it per site
- Disable directory browsing at the server level and enable it only on that virtual directory (Correct answer)
- Use a URL rewrite rule to show directory listings
- Grant IUSR Browse permission on the folder
Correct answer: Disable directory browsing at the server level and enable it only on that virtual directory
Setting directory browsing disabled at the server level and explicitly enabling it on the specific virtual directory applies the principle of least privilege.
Question 7: A company uses IIS as a reverse proxy in front of a Node.js application using Application Request Routing (ARR). After deployment, WebSocket connections from clients fail. What must be enabled?
- WebSocket Protocol feature in Windows Server roles (Correct answer)
- HTTP/2 in the IIS site bindings
- URL Rewrite module's outbound rules
- Dynamic compression for the backend farm
Correct answer: WebSocket Protocol feature in Windows Server roles
The WebSocket Protocol Windows feature must be installed and enabled in IIS for ARR to proxy WebSocket upgrade requests to backend servers.
A company's IIS server is serving a mix of static HTML and ASP.NET pages.
Users report that static files load fast but ASP.NET pages are slow under load.
Which IIS feature should you tune first?