###BeginCaseStudy###
Testlet 1
General Overview
Adventure Works Cycles is a travel agency for cycling enthusiast. In recent years, Adventure Works Cycles has
begun renting exotic cars to its clients.
You are developing a new web application that will provide Adventure Works Cycle customers with the ability to
locate and rent exotic throughout the world.
Application Overview
The web application will be hosted in Azure. The application will provide users with the ability to search for a car
by using advanced filtering options, such as the car brand, model, year, and price. All of this information will be
stored as strings and will be displayed as drop-down lists.
The brand and model lists that will be displayed on the home page of the web application will be retrieved from
Windows Communication Foundation (WCF) services hosted in the on-premises environment.
The home page will be named home.aspx and will be developed by using Microsoft ASP.NET MVC. The
business logic will be developed by using ASP.NET Web API.
The MVC front-end layer and the Web API will communicate by using JSON. The business logic will have a call
to an assembly named CarBusinessLogic.dll.
For responding, you are creating a worker role named ReportApp in Azure that will collect data from all of the
searches made by using the web application. The application will communicate with ReportApp by using
messages.
Requirements
Security Requirements
Adventure Works Cycles identifies the following security requirements for the web application:
The Web API must only accept one data format.
The CarBusinessLogic.dll assembly must be strongly-named.
Communication between the on-premises WCF service and Azure must be encrypted.
Logging Requirements
In the Web API, you plan to create a controller named CarController. Before any action in CarController is
executed, the following line of code must execute first.
Debug.WriteLine(“pre-processing logging”);
Performance Requirements
Adventure Works Cycles identifies the following performance requirements for the web application:
After the initial deployment, any changes to the business logic of the Web API must cause minimal
downtime to the web application in the production environment.
The action in the Web API that returns the car brand must be asynchronous, while all other actions must be
synchronous.
When home.aspx is displayed,the rendered page must be cached for 10 minutes.
The web application will be deployed to multiple instances.
Financial Requirements
ReportApp will shut down every night. However, data from the searches performed during the night must still be
collected.
###EndCaseStudy###
You need to recommend a solution to meet the performance requirements for home.aspx.
What should you recommend?
A.
ViewState
B.
MemoryCache
C.
OutputCache
D.
ApplicationCache
Explanation:
Scenario: When home.aspx is displayed, the rendered page must be cached for 10 minutes.
Page output caching
The output of an action method on a controller can be cached using the [OutputCache]attribute on the method.
Actions methods that return views will have the rendered page cached, while methods returning JSON data will
have that data saved. A number of properties on the OutputCacheAttribute class control how data is cached.
CacheProfile- If a number of methods will have the same cache settings, it makes sense to use the web.config
file to create a cache profile that can be used across all these methods.
The Duration attribute of the CacheProfile determines how long, in seconds, the output should be cached. To
save an item for 10 minutes, duration would be set to 600.
[OutputCache(Duration=600)]
http://failedturing.blogspot.se/2014/10/microsoft-70-486-design-caching-strategy.html