70-486 Free Demo Practice Test Software
Case Study: 1
Olympic Marathon
Background
You are developing an ASP.NET MVC application in Visual Studio 2012 that will be used by Olympic marathon runners to log data about training runs.
Business Requirements
The application stores date, distance, and duration information about a user's training runs. The user can view, insert, edit, and delete records.
The application must be optimized for accessibility.
All times must be displayed in the user's local time.
Technical Requirements
Data Access:
Database access is handled by a public class named RunnerLog.DataAccess.RunnerLogDb.
All data retrieval must be done by HTTP GET and all data updates must be done by HTTP POST.
Layout:
All pages in the application use a master layout file named \Views\Shared\_Layout.cshtml.
Models:
The application uses the \Models\LogModel.cs model.
Views:
All views in the application use the Razor view engine.
Four views located in \Views\RunLog are named:
- _CalculatePace.cshtml
- EditLog.cshtml
- GetLog.cshtml
- InsertLog.cshtml
The application also contains a \Views\Home\Index.cshtml view.
Controllers:
The application contains a \Controllers\RunLogController.cs controller.
Images:
A stopwatch.png image is located in the \Images folder.
Videos:
A map of a runner's path is available when a user views a run log. The map is implemented as an Adobe Flash application and video. The browser should display the video natively if possible, using H264, Ogg, or WebM formats, in that order. If the video cannot be displayed, then the Flash application should be used.
Security:
You have the following security requirements:
- The application is configured to use forms authentication.
- Users must be logged on to insert runner data.
- Users must be members of the Admin role to edit or delete runner data.
- There are no security requirements for viewing runner data.
- You need to protect the application against cross-site request forgery.
- Passwords are hashed by using the SHA1 algorithm.
RunnerLog.Providers.RunLogRoleProvider.cs contains a custom role provider.
Relevant portions of the application files follow. (Line numbers are included for reference only.)
Application Structure
Question: 1
DRAG DROP
You need to implement the Views\RunLog\_CalculatePace.cshtml partial view from Views\Runlog \GetLog.cshtml to display the runner's average mile pace.
How should you implement the view? (To answer, drag the appropriate code segments to the correct location or locations. Each code segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.)
Answer:
Question: 2
DRAG DROP
You need to implement security according to the business requirements.
How should you modify RunLogController? (To answer, drag the appropriate code segment to the correct location or locations. Each code segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.)
Answer:
Question: 3
You need to make the "Distance" header of the table bold in the Views/RunLog/GetLog.cshtml view.
Which code segment should you use?
A. table>
B. table>
C. table+
D. table>tr>th:nth-child (2) { font-weight: bold; }
Answer: D
Question: 4
You need to extend the edit functionality of RunLogController.
Which code segment should you use?
A. Option A
B. Option B
C. Option C
D. Option D
Answer: C
Question: 5
HOTSPOT
You need to implement the map of the runners' paths.
How should you build the video viewer? (To answer, select the appropriate options in the answer area.)
Answer:
Question: 6
HOTSPOT
You need to ensure that only valid parameters are passed to the EditLog action.
How should you build the route? (To answer, select the appropriate options in the answer area.)
Answer:
Question: 7
DRAG DROP
You need to ensure that the application uses RunLogRoleProvider custom role provider.
How should you modify the web.config file? (To answer, drag the appropriate line of code to the correct location or locations. Each line of code may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.)
Answer:
Question: 8
DRAG DROP
You need to ensure that only valid parameters are passed to the EditLog action.
How should you build the route? (To answer, drag the appropriate code segments to the correct location or locations. Each code segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.)
Answer:
Question: 9
If the canvas element is supported by the client browser, the application must display "London 2012" in the footer as text formatted by JavaScript at the end of the _Layout.cshtml file.
You need to modify the layout to ensure that "London 2012" is displayed as either formatted text or as plain text, depending on what the client browser supports.
Which code segment should you add?
A.
@(Request,Browser.JavaApplets? new HtmlString("London 2012") : null)
B. London 2012
C. London 2012
D.
London 2012
Answer: C
Question: 10
You need to add an action to RunLogController to validate the users' passwords.
Which code segment should you use?
A. Option A
B. Option B
C. Option C
D. Option D
Answer: B
Question: 11
You need to make all of the rows in the table bold in the Views/RunLog/GetLog.cshtml view.
Which code segment should you use?
A. Table>
B. Table+
C. Table>tr>
D. Table>
Answer: D
Question: 12
You need to display the "miles" unit description after the distance in the GetLog view.
Which line of code should you use to replace line GL21? (Each correct answer presents a complete solution. Choose all that apply.)
A. @log.Distance miles
B. @Htrml.DisplayFor(model => log.Distance) miles
C. @log.Distance.ToString() @Html.TextArea("miles")
D. @Html.DisplayFor(model => log.Distance.ToString() + " miles")
Answer: A, B
Question: 13
DRAG DROP
You need to implement security according to the business requirements.
You have the following code:
Which code segments should you include in Target 1, Target 2, Target 3 and Target 4 to modify RunLogController? To answer, drag the appropriate code segment to the correct targets. Each code segment may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
Answer:
Target 1: [Authorize]
Target 2: [AllowAnonymous]
Target 3: [Authorize(Roles = "Admin")]
Target 4: [Authorize(Roles = "Admin")]
Question: 14
The RunLog/Views/InsertLog.cshtml view must display the /Images/stopwatch.png image and the "Insert Run Data" header text below the image. The view should resemble the exhibit. (Click the Exhibit button.)
The application must display the image above the field set.
You need to add the HTML code to /Runlog/Views/InsertLog.cshtml to display the image and header text.
Which code segment should you use?
A. Option A
B. Option B
C. Option C
D. Option D
Answer: D
Example:
Example of a DIV element with a background image:
Reference: DIV BACKGROUND-IMAGE in the STYLE element
http://www.w3.org/WAI/UA/TS/html401/cp0301/0301-CSS-DIV-BACKGROUND-IMAGE.html
Question: 15
The date of the run must be displayed in Views\Runlog\GetLog.cshtml. The timestamp must not be displayed.
You need to display the date of the run according to the business requirements.
Which code segment should you use?
A. @Html.DisplayFor(model => log.ShortDate)
B. @log.RunDate.ToString()
C. @log.RunDate.ToShortDateString()
D. @Html.DisplayFor(model => log.RunDate)
Answer: A
Explanation:
The log file has the ShortDate function which is defined as:
Return RunDate.ToLocalTime().ToShortDateString();
This meets the requirement.
Note:
Scenario:
- The application uses the \Models\LogModel.cs model.
- The Html.DisplayFor method is typically used to display values from the object that is exposed by the Model property.
The DisplayExtensions.DisplayFor method (HtmlHelper, Expression)
Returns HTML markup for each property in the object that is represented by the Expression expression.
Incorrect:
Not D: The RunDate attribute is defined as DateTime, but the timestamp (the time of day), should not be displayed.