###BeginCaseStudy###
Case Study: 4
Scenario 4
Background
You are developing a flight information consolidation service. The service retrieves flight
information from a number of sources and combines them into a single data set. The
consolidated flight information is stored in a SQL Server database. Customers can query and
retrieve the data by using a REST API provided by the service.
The service also offers access to historical flight information. The historical flight
information can be filtered and queried in an ad hoc manner.
The service runs on a Microsoft Azure Web Role. SSL is not used.
Business Requirements
• A new data source for historical flight information is being developed by a
contractor located on another continent.
• If a time zone is not specified, then it should be interpreted as Coordinated
Universal Time (UTC).
• When you upgrade a service from a staging deployment to a production
deployment, the time that the service is unavailable must be minimized.
• The default port must be used for HTTP.
Technical Requirements
The existing sources of flight information and the mechanism of exchange are listed below.
• Blue Yonder Airlines provides flight information in an XML file.
• Consolidated Messenger provides flight information in a Microsoft Access
database that is uploaded every 12 hours to the service using SFTP. The
company uses Dort 22 for SFTP.
• Margie’s Travel provides and consumes flight information using serialized
ADO.NET DataSets. Data is periodically synced between the service and
Margie’s Travel.
• Trey Research provides data from multiple sources serialized in proprietary
binary formats. The data must be read by using .NET assemblies provided by
Trey Research. The assemblies use a common set of dependencies.
• The current version of the Trey Research assemblies is 1.2.0.0. All assemblies
provided by Trey Research are signed with a key pair contained in a file
named Trey.snk, which Trey Research also supplies.
• The application specification requires that any third-party assemblies must
have strong names.
Application Structure
FlightInfo.es
BlueYonderLoader.es
HistoricalDataLoader.es
MargiesTravelSync.es
FlightInfoContext.es
FlightDataController.es
###EndCaseStudy###
Errors occasionally occur when saving data using the FlightlnfoContext ADO.NET Entity
Framework context. Updates to the data are being lost when an error occurs.
You need to ensure that data is still saved when an error occurs by retrying the operation.
No more than five retries should be performed.
With which code segment should you replace the body of the SaveChanges() method in the
FlightInfoContext.es file?
A.
Option A
B.
Option B
C.
Option C
D.
Option D
Explanation:
EntitySqlException: Represents errors that occur when parsing Entity SQL command text.
This exception is thrown when syntactic or semantic rules are violated.
SqlException: The exception that is thrown when SQL Server returns a warning or error.
This class cannot be inherited.
EntityCommandExecutionException : Represents errors that occur when the underlying
storage provider could not execute the specified command. This exception usually wraps a
provider-specific exception.