Case Study: 3
Scenario 3
Background
You are developing a video transcoding service. This service is used by customers to upload video files,
convert video to other formats, and view the converted files. This service is used by customers all over the
world.
Business Requirements
The user-facing portion of the application is an ASP.NET MVC application. It provides an interface for
administrators to upload video and schedule transcoding. It also enables administrators and users to download
the transcoded videos.
When videos are uploaded, they are populated with metadata used to identify the video. The video metadata is
gathered by only one system when the video upload is complete. Customers require support for Microsoft
Internet Explorer 7 and later. The application contains a header that is visible on every page. If thelogged-on
user is an administrator, then the header will contain links to administrative functions. This information is read
from a cookie that is set on the server. The administrative links must not be present if an error condition is
present.
Technical Requirements
User Experience:
The front-end web application enables a user to view a list of videos. The main view of the application is the
web page that displays the list of videos. HTML elements other than the list of videos are changed with every
request requiring the page to reload.
Compatibility:
Some customers use browsers that do not support the HTTP DELETE verb. These browsers send a POST
request with an HTTP header of X-Delete when the intended action is to delete.
Transcoding:
The video transcoding occurs on a set of Windows Azure worker roles. The transcoding is performed by a
third-party command line tool named transcode.exe. When the tool is installed, an Environment variable
named transcode contains the path to the utility.
A variable named license contains the license key. The license for the transcoding utility requires that it be
unregistered when it is not in use. The transcoding utility requires a significant amount of resources. A
maximum of 10 instances of the utility can be running at any one time. If an instance of the role cannot process
an additional video, it must not prevent any other roles from processing that video.
The utility logs errors to a Logs directory underthe utilities path. A local Azure directory resource named perf
is used to capture performance data.
Development:
Developers must use Microsoft Remote Desktop Protocol (RDP) to view errors generated by the transcode.
exe utility.
An x509 certificate has been created and distributed to the developers for this purpose.
Developers must be able to use only RDP and not any other administrative functions.
Application Structure
********************************************************************
You are creating a new authentication system that uses an HTTP header value. The existing authentication
system must continue to operate normally. You need to implement the custom authentication. What shouldyou
do? (Each correct answer presents a complete solution. Choose all that apply.)
A.
Create a class derived from ActionResult and check for a valid HTTP header value in the ExecuteResult
method. Change all actions to return this new class.
B.
Create an HttpHandler to check for a valid HTTP header value in the ProcessRequest method.
C.
Create an HttpModule and check for a valid HTTP header value in the AuthenticateRequest event.
D.
Create a class derived from AuthorizeAttribute and check for a valid HTTP header value in the
AuthorizeCore method. Change usages of the existingAuthorizeAttribute to use the new class.
The answer should be C and D.
Can you please explain why it is C and D? Thanks!
Well, I found it here
http://stackoverflow.com/questions/19673484/processrequest-vs-authenticaterequest
Why B is not correct?
Authentication and authorization in ASP.NET life cycle are in events handled by HTTP Module. HTTPHandler are meant to handle filetype or request endpoint not for authorization
Agreed with Sam, you need HTTP Module (it is an event) to validate the request and let it pass through. C and D.
Agree with Sam, answer should be C and D.
C and D authentication and authorization in ASP.NET life cycle are are handled by HTTPModule
New 70-486 Exam Questions Updated Recently (3/May/2017):
NEW QUESTION 191
You are developing an ASP.NET application that allows users to download Microsoft Azure log files. You need to improve the performance of the application. What should you do?
A. Minify the content files.
B. Enable compression in IIS.
C. Bundle the content files into a single .tar file.
D. Host the image, JavaScript, and CSS files on a different server.
Answer: C
Explanation:
Bundling is a new feature in ASP.NET 4.5 that makes it easy to combine or bundle multiple files into a single file. You can create CSS, JavaScript and other bundles. Fewer files means fewer HTTP requests and that can improve first page load performance.
NEW QUESTION 193
You are building an ASP.NET web application. You must test the web application in multiple browsers at the same time. You need to ensure that the application can use the Browser Link feature. Which two actions should you perform? Each correct answer presents part of the solution.
A. In the web.config file, set the value of the debug attribute to False.
B. In the web.config file, set the value of the debug attribute to True.
C. Enable Browser link.
D. Use an external editor for webpages.
E. Enable source control server support.
Answer: BC
Explanation:
Debugging must be enabled in the web.config file. To enable Browser Link, set debug=true in the element in the project’s Web.config file.
NEW QUESTION 195
You deploy an ASP.NET MVC Web application to Internet Information Services (IIS). The application has a secure area that provides access to custom reports. You must develop custom business logic to support the reports. The custom business logic has the following requirements:
– It must run each time that a report is requested.
– It must not run for other IIS requests.
– It must be mapped to the request extension of the report.
– It must be written by using a managed language that is supported by the .NET framework.
You must be able to quickly modify and deploy updates to the business logic. You need to develop the custom business logic. What should you do?
A. Update the report logic to include the custom business logic.
Use WebDAV to publish the reports to the server.
B. Develop a new HTTP module that includes the custom business logic.
Deploy the HTTP module to IIS.
C. Develop a new HTTP handler that includes the custom business logic.
Deploy the HTTP handler to IIS.
D. Develop a new ISAPI filter that includes the custom business logic.
Deploy the ISAPI filter to IIS.
Answer: C
Explanation:
An ASP.NET HTTP handler is the process that runs in response to a request that is made to an ASP.NET Web application. ASP.NET maps HTTP requests to HTTP handlers based on a file name extension.
Incorrect:
Not B: HTTP modules differ from HTTP handlers. An HTTP handler returns a response to a request that is identified by a file name extension or family of file name extensions. In contrast, an HTTP module is invoked for all requests and responses. It subscribes to event notifications in the request pipeline and lets you run code in registered event handlers.
NEW QUESTION 196
You are developing an ASP.NET MVC application to be used on the Internet. The environment does not use Active Directory. Users must be able to log on to the application to maintain their personal preferences. You need to use the least amount of development effort to enable users to log on. What should you do?
A. Enable Digest authentication.
B. Enable Windows authentication.
C. Enable Forms authentication.
D. Generate server SSL certificates and install them in IIS.
Answer: C
Explanation:
Many Web applications require a way to restrict access to some resources (such as specific pages) so that those resources are accessible only to authenticated users. The default Web application project template for ASP.NET MVC provides a controller, data models, and views that you can use to add ASP.NET forms authentication to your application. The built-in functionality lets users register, log on and off, and change their password. For many applications, this functionality provides a sufficient level of user authentication.
Incorrect:
Not B: Windows authentication would require an Active Directory. Windows authentication method works only if the following two conditions exist:
– You set up your network to use the Kerberos authentication protocol that requires Active Directory.
– You set up the computers and accounts on your network as trusted for delegation.
NEW QUESTION 197
You are developing an ASP.NET MVC application that will run in a shared environment. The application requests the user’s password, and then uses the password to sign data. You need to minimize the potential for the password to be discovered by other processes that run in the shared environment. What should you do?
A. Add the SecuritySafeCriticalAttribute attribute to the methods which process the password.
B. Store the password in a SecureString instance.
C. Encrypt the password on the web page, and decrypt the password in the MVC application.
D. Run the code that processes the password in its own AppDomain.
Answer: D
Explanation:
Application domains provide a unit of isolation for the common language runtime. They are created and run inside a process. Application domains are usually created by a runtime host, which is an application responsible for loading the runtime into a process and executing user code within an application domain. The runtime host creates a process and a default application domain, and runs managed code inside it. Runtime hosts include ASP.NET, Microsoft Internet Explorer, and the Windows shell. For most applications, you do not need to create your own application domain; the runtime host creates any necessary application domains for you. However, you can create and configure additional application domains if your application needs to isolate code or to use and unload DLLs.
NEW QUESTION 200
You develop an ASP.NET MVC application. The application is configured for claims-based authentication by using Windows Identity Foundation (WIF). You need to access the claims in the WIF token. Which code segment should you use?
A. Thread.CurrentPrincipal.Identity;
B. ((IClaimsPrincipal)Thread.CurrentPrincipal).Identities[0].Claims;
C. Thread.CurrentPrincipal;
D. ((IClaimsPrincipal)Thread.CurrentPrincipal).Identities[0].IsAuthenticated;
Answer: B
Explanation:
To Access the Claims
In order to access identity related information, you can run FedUtil. Once you have run FedUtil, your application can access IClaimsPrincipal and IClaimsIdentity using the standard ASP.NET constructs as shown in the following code example:
void Page_Load(object sender, EventArgs e)
{
// Cast the Thread.CurrentPrincipal
IClaimsPrincipal icp = Thread.CurrentPrincipal as IClaimsPrincipal; // Access IClaimsIdentity which contains claims
IClaimsIdentity claimsIdentity = (IClaimsIdentity)icp.Identity; // Access claims
foreach(Claim claim in claimsIdentity.Claims)
{
}
}
NEW QUESTION 201
You are developing an ASP.NET MVC application. The application has a contact view includes a form for editing the displayed contact. You need to save the Contact object model when the form is posted back to the EditContact method using a POST method request. Which code segment should you use? (Each correct answer presents a complete solution. Choose all that apply.)
A. public ActionResult EditContact(){var c = newContact(){FirstName = Request.QueryString [‘”FirstName”‘],LastName = Request.QueryString[“LastName”]},SaveContact(c);return View(c);}
B. public ActionResult EditContact(Contact c){SaveContact(c);return View(c);}
C. public ActionResult EditContact(FormCollection values){var c = newContact(){FirstName = values [‘”FirstName”‘],LastName = values[“LastName”]},SaveContact(c);return View(c);}
D. public ActionResult EditContact(QueryStringProvider values){var c = newContact(){FirstName = values.GetValue[‘”FirstName”‘],LastName = values.GetValue [“LastName”]},SaveContact(c);return View (c);}
Answer: AB
NEW QUESTION 203
You are developing an ASP.NET MVC application. The application uses a set of custom exceptions to log errors that occur during the execution of an action. You need to develop a class that implements logging. Which interface should you implement?
A. IExceptionFilter
B. IActionFilter
C. IClientValidatable
D. IResultFilter
Answer: A
Explanation:
Exception filters are used to apply global policies to unhandled exceptions in the MVC app. Exception Filters implement either the IExceptionFilter or IAsyncExceptionFilter interface. Exception filters handle unhandled exceptions, including those that occur during controller creation and model binding. They are only called when an exception occurs in the pipeline.
NEW QUESTION 204
You create an ASP.NET MVC application. You host the application by using the Open Web Interface for .NET (OWIN).
You run the following command by using the NuGet Package Manager console:
install-package Microsoft.AspNet.SignalR
You plan to implement real-time push notifications from the server using ASP.NET SignalR. You need to complete the ASP.NET SignalR implementation. Which three steps should you perform? Each correct answer presents part of the solution.
A. Create a hub class to push content to clients.
B. Create a class that derives from the PersistentConnection class. Use the derived class to push content to clients.
C. Use the SignalR jQuery library in a web page to send messages to the hub and display updates from the hub.
D. Map a SignalR hub to the app builder pipeline by using an OWIN startup class.
E. Start the SignalR hub asynchronously and respond to the appropriate callback methods.
Answer: ACD
Explanation:
A:
In Solution Explorer, right-click the project, select Add | New Folder, and add a new folder named Hubs. Right-click the Hubs folder, click Add | New Item, select the Visual C# | Web | SignalR node in the Installed pane, select SignalR Hub Class (v2) from the center pane, and create a new hub named ChatHub.cs. You will use this class as a SignalR server hub that sends messages to all clients.
C:
Use the SignalR jQuery library in a web page to send messages and display updates from the hub.
D:
Create an OWIN startup class to configure the application.
NEW QUESTION 205
You are developing an ASP.NET MVC application. Devices that use many different browsers will use the application. You have the following requirements:
– Content must display correctly when a device is in landscape or portrait orientation.
– Content must not scale when the device orientation changes.
– Content must be displayed by using the maximum available screen space.
– The application must render properly in Internet Explorer 8 or later versions.
You need to configure the application. Which two actions should you perform? Each correct answer presents part of the solution.
A. Use JavaScript to evaluate the window.innerWidth and window.innerHeigh properties.
B. Set the value of the width property for the viewport meta tag to device-width.
C. Use CSS to target the HTML element on each page. Set the values of the width and height properties to 100%.
D. Use CSS media queries to target screen size, device orientation, and other browser capabilities.
Answer: BD
Explanation:
B:
If you want the viewport width to match the device’s physical pixels, you can specify the following:
For this to work correctly, you must not explicitly force elements to exceed that width (e.g., using a width attribute or CSS property), otherwise the browser will be forced to use a larger viewport regardless.
D:
Media queries in CSS3 extend the CSS2 media types idea: Instead of looking for a type of device, they look at the capability of the device. Media queries can be used to check many things, such as:
– width and height of the viewport
– width and height of the device
– orientation (is the tablet/phone in landscape or portrait mode) resolution
Using media queries are a popular technique for delivering a tailored style sheet to tablets, iPhone, and Androids.
References:
NEW QUESTION 206
……
P.S. You Can Get The Newest 70-486 Dumps In PDF And VCE From — http://www.passleader.com/70-486.html (231q VCE and PDF)
Good Luck!
BTW, part of that new 231Q 70-486 dumps are available here:
https://drive.google.com/open?id=0B-ob6L_QjGLpflNtUWtkNlk3ODJFY0pqOUhqVFEwc0lrd0QtamRxUHFLLUdWZEVDaGtlQWM
Best Regards!