Developing
Windows Azure and Web Services Lab @ home 8 Ans 1
The second step in
creating the WCF service is to create a project for hosting the service. In
this exercise you will create a service host, configure it with a TCP endpoint
and use it to make the service available for clients.
The main tasks for this exercise are:
1. Create a console project to host the WCF service.
2. Configure the service to use a TCP endpoint.
3. Create the service hosting code.
Solution
Task 1: Creating a Console Project to Host the WCF Service
To create a console project to host the WCF service, you need to perform the following steps:
1. Browse to the location where the Exercise 02.zip file is saved.
2. Extract the files.
3. Double-click the Exercise 02 folder.
4. Double-click the BlueYonder.Server folder.
5. Double-click the BlueYonder.Server.sln file. The BlueYonder.Server - Microsoft Visual Studio window is displayed.
6. Select FILE—Add—New Project. The Add New Project dialog box is displayed.
7. Select the Windows node under the Visual C# node in the left pane.
8. Select Console Application from the list of templates displayed in the middle pane.
9. Select and replace the text in the Name text box with BlueYonder.Booking Service.Host.
10. Click the OK button.
11. Ensure that the Solution Explorer window is opened.
12. Right-click the BlueYonder.Booking Service.Host node, and then select Add Reference. The Reference Manager -BlueYonder.Booking Service.Host dailog box is displayed.
13. Ensure that Framework is selected under the Assemblies node in the left pane.
14. Scroll down and select the check box next to the System.ServiceModel assembly in the middle pane.
15. Click the Solution node in the left pane.
16. Select the check boxes next to the following project names in the middle pane:
* BlueYonder.Booking Service.Contracts
o BlueYonder.Booking Service.lmplementation
o BlueYonder.DataAccess o BlueYonder.Entities
17. Click the OK button.
18. Ensure that the Solution Explorer window is opened.
19. Right-click the BlueYonder.Booking Service.Host node, and then select Manage NuGet Packages. The BlueYonder.Booking Service.Host - Manage NuGet Packages dialog box is displayed.
20. Click the Online node in the left pane.
21. Type EntityFramework in the search box on the top-right corner.
22. Select EntityFramework in the middle pane, and then click the Install button.
23. Click the I Accept button, if the License Acceptance dialog box is displayed.
24. Click the Close button.
25. Ensure that the Solution Explorer window is opened.
26. Right-click the BlueYonder.Booking Service.Host node, and then select Add—Existing Item. The Add Existing Item -BlueYonder.BookingService.Host dialog box is displayed.
27. Browse to the location where the Exercise 02.zip file is extracted.
28. Double-click the Exercise 02 folder.
29. Double-click the Assets folder.
30. Select the FlightScheduleDatabaselnitializer.es file.
31. Click the Add button
32. Select FILE— Save All to save the changes.
Task 2: Configuring the Service to Use a TCP Endpoint
To configure the service to use a TCP endpoint, you need to perform the following steps:
1. Ensure that Solution Explorer window is opened.
2. Ensure that the BlueYonder.Booking Service.Host node is expanded.
3. Double-click the App.config file. The App.config file is displayed.
4. Type the highlighted portions of the following code snippet in the App.config file:
<?xml version="l.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /'. </startup>
<system.serviceModel>
<services>
<service name="BlueYonder.BookingService.Implementation.BookingSei <endpoint name="BookingTcp" addresss"net.tcp://localhost/BlueYoi binding="netTcpBinding" contract="BlueYonder.BookingService.Contracts.Ii </service>
</services>
</system.serviceModel>
<connectionStrings>
<add name="BlueYonderServer" connectionString="Data Sources.\SQLEXPRESS$Database=BlueYonder.Server.Lab5;Integrated Security: providerName="System.Data.SqlClient" />
</connectionStrings>
5. Select FILE— Save All to save the changes.
Task 3: Creating the Service Hosting Code
To create the service hosting code, you need to perform the following steps:
1. Ensure that Solution Explorer window is opened.
2. Ensure that the BlueYonder.Booking Service.Host node is expanded.
3. Double-click the Program.es file. The Program.es file is dispalyed.
4. Type the highlighted portions of the following code snippet in the Program.es file:
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.ServiceModel; using BlueYonder.DataAccess;
namespace BlueYonder.BookingService.Host
{
class Program
{
static void Main(string[] args)
{
}
private static void OnServiceOpened(object sender, EventArgs e)
{
Console.WriteLine('*Booking Service Is Running... Press [ENTER] to close.
>
private static void OnServiceOpening(object sender, EventArgs e)
{
Console.WriteLine(”Booking Service Is Initializing...");
}
>
>
5. Add the following code snippet inside the Main() method of the Program.es file:
van dblnitializer = new FlightScheduleDatabaselnitializer();
dblnitializer.InitializeDatabase(new TravelCompanionContext(Implementation.BookingService.ConnectionName));
van host = new ServiceHost(typeof(Implementation.BookingServ host.Opening += OnServiceOpening; host.Opened += OnServiceOpened; try {
host.Open();
>
catch (Exception e)
{
host = null;
Console.WriteLine(" *** Error occured while trying to service host *** \n\n{0}", e.Message);
Console.WriteLine("\n\n Press [ENTER] to exit.");
>
Console.ReadLine(); if (host == null) return; try {
host. Close();
}
catch (Exception)
{
host.Abort();
}
6. Select FILE—Save All to save the changes.
7. Right-click the BlueYonder.BookingService.Host node, and then select Set as Startup Project.
8. Press the F5 key. The Console window is displayed.
9. Click the Allow access button, if the Windows Security Alert dialog box is displayed.
10. Close the Console window.
11. Switch to Microsoft Visual Studio 2012, and close it.
The main tasks for this exercise are:
1. Create a console project to host the WCF service.
2. Configure the service to use a TCP endpoint.
3. Create the service hosting code.
Solution
Task 1: Creating a Console Project to Host the WCF Service
To create a console project to host the WCF service, you need to perform the following steps:
1. Browse to the location where the Exercise 02.zip file is saved.
2. Extract the files.
3. Double-click the Exercise 02 folder.
4. Double-click the BlueYonder.Server folder.
5. Double-click the BlueYonder.Server.sln file. The BlueYonder.Server - Microsoft Visual Studio window is displayed.
6. Select FILE—Add—New Project. The Add New Project dialog box is displayed.
7. Select the Windows node under the Visual C# node in the left pane.
8. Select Console Application from the list of templates displayed in the middle pane.
9. Select and replace the text in the Name text box with BlueYonder.Booking Service.Host.
10. Click the OK button.
11. Ensure that the Solution Explorer window is opened.
12. Right-click the BlueYonder.Booking Service.Host node, and then select Add Reference. The Reference Manager -BlueYonder.Booking Service.Host dailog box is displayed.
13. Ensure that Framework is selected under the Assemblies node in the left pane.
14. Scroll down and select the check box next to the System.ServiceModel assembly in the middle pane.
15. Click the Solution node in the left pane.
16. Select the check boxes next to the following project names in the middle pane:
* BlueYonder.Booking Service.Contracts
o BlueYonder.Booking Service.lmplementation
o BlueYonder.DataAccess o BlueYonder.Entities
17. Click the OK button.
18. Ensure that the Solution Explorer window is opened.
19. Right-click the BlueYonder.Booking Service.Host node, and then select Manage NuGet Packages. The BlueYonder.Booking Service.Host - Manage NuGet Packages dialog box is displayed.
20. Click the Online node in the left pane.
21. Type EntityFramework in the search box on the top-right corner.
22. Select EntityFramework in the middle pane, and then click the Install button.
23. Click the I Accept button, if the License Acceptance dialog box is displayed.
24. Click the Close button.
25. Ensure that the Solution Explorer window is opened.
26. Right-click the BlueYonder.Booking Service.Host node, and then select Add—Existing Item. The Add Existing Item -BlueYonder.BookingService.Host dialog box is displayed.
27. Browse to the location where the Exercise 02.zip file is extracted.
28. Double-click the Exercise 02 folder.
29. Double-click the Assets folder.
30. Select the FlightScheduleDatabaselnitializer.es file.
31. Click the Add button
32. Select FILE— Save All to save the changes.
Task 2: Configuring the Service to Use a TCP Endpoint
To configure the service to use a TCP endpoint, you need to perform the following steps:
1. Ensure that Solution Explorer window is opened.
2. Ensure that the BlueYonder.Booking Service.Host node is expanded.
3. Double-click the App.config file. The App.config file is displayed.
4. Type the highlighted portions of the following code snippet in the App.config file:
<?xml version="l.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /'. </startup>
<system.serviceModel>
<services>
<service name="BlueYonder.BookingService.Implementation.BookingSei <endpoint name="BookingTcp" addresss"net.tcp://localhost/BlueYoi binding="netTcpBinding" contract="BlueYonder.BookingService.Contracts.Ii </service>
</services>
</system.serviceModel>
<connectionStrings>
<add name="BlueYonderServer" connectionString="Data Sources.\SQLEXPRESS$Database=BlueYonder.Server.Lab5;Integrated Security: providerName="System.Data.SqlClient" />
</connectionStrings>
5. Select FILE— Save All to save the changes.
Task 3: Creating the Service Hosting Code
To create the service hosting code, you need to perform the following steps:
1. Ensure that Solution Explorer window is opened.
2. Ensure that the BlueYonder.Booking Service.Host node is expanded.
3. Double-click the Program.es file. The Program.es file is dispalyed.
4. Type the highlighted portions of the following code snippet in the Program.es file:
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.ServiceModel; using BlueYonder.DataAccess;
namespace BlueYonder.BookingService.Host
{
class Program
{
static void Main(string[] args)
{
}
private static void OnServiceOpened(object sender, EventArgs e)
{
Console.WriteLine('*Booking Service Is Running... Press [ENTER] to close.
>
private static void OnServiceOpening(object sender, EventArgs e)
{
Console.WriteLine(”Booking Service Is Initializing...");
}
>
>
5. Add the following code snippet inside the Main() method of the Program.es file:
van dblnitializer = new FlightScheduleDatabaselnitializer();
dblnitializer.InitializeDatabase(new TravelCompanionContext(Implementation.BookingService.ConnectionName));
van host = new ServiceHost(typeof(Implementation.BookingServ host.Opening += OnServiceOpening; host.Opened += OnServiceOpened; try {
host.Open();
>
catch (Exception e)
{
host = null;
Console.WriteLine(" *** Error occured while trying to service host *** \n\n{0}", e.Message);
Console.WriteLine("\n\n Press [ENTER] to exit.");
>
Console.ReadLine(); if (host == null) return; try {
host. Close();
}
catch (Exception)
{
host.Abort();
}
6. Select FILE—Save All to save the changes.
7. Right-click the BlueYonder.BookingService.Host node, and then select Set as Startup Project.
8. Press the F5 key. The Console window is displayed.
9. Click the Allow access button, if the Windows Security Alert dialog box is displayed.
10. Close the Console window.
11. Switch to Microsoft Visual Studio 2012, and close it.
Developing
Windows Azure and Web Services Lab @ 8 Ans 2
Luxury Drive is using an XML Web service that provides the details about
the various models of the cars manufactured by the company. The Web service is
used by the company's call center and the distributors. The call center
employees use a client application developed in .NET to access the Web service.
However, the distributors use various applications having different platfonns
to access the Web service. The management at Luxury Drive wants their Web
service to be such that it can accommodate features such as reliable messaging,
transactions, and security in future. The management has conveyed the same to
the developers. The developers know that they can implement all these features
in the existing XML Web service. However, it would be difficult because each of
these features is provided by different technologies and merging all these
technologies is a time-consuming and complex task. Therefore, the developers
decided to create the Web service by using WCF because WCF is the unification
of all these technologies and provides all the required features. You. as a
distributed application developer, have to create a WCF service that provides
the details about the various models
To create the required WCF service, you need to perform the following tasks:
1. Attach the database in the Microsoft SQL Server Management Studio window.
2. Create a WCF service.
3. Verify the WCF service.
Task 1: Attaching the Database in the Microsoft SQL Server Management Studio Window
To attach the database in the Microsoft SQL Server Management Studio window, you need to perform the following steps:
1. Browse to the location where the Exercise 03.zip file is saved.
2. Extract the files.
3. Open SQL Server Management Studio as administrator. The Connect to Server dialog box is displayed.
4. Type .\sqlexpress in the Server name text box.
5. Select Windows Authentication in the Authentication drop-down list.
6. Click the Connect button. The Microsoft SQL Server Management Studio window is displayed.
7. Right-click the Databases node in the Object Explorer window, and then select the Attach option from the context menu. The Attach Databases dialog box is displayed.
8. Click the Add button.
9. Browse to the location where the Exercise 03.zip file is extracted.
10. Expand the Exercise 03 folder.
11. Expand the Database folder.
12. Select the LuxuryDrive.mdf file.
13. Click the OK button.
14. Click the OK button. The LuxuryDrive database is added in the Databases folder.
Task 2: Creating a WCF Service
To create a WCF Service, you need to perform the following steps:
1. Open Microsoft Visual Studio 2012.
2. Select File—New—Web Site. The New Web Site dialog box is displayed.
3. Ensure that the Installed—Templates nodes are expanded in the left pane.
4. Select the Visual C# node under the Templates node.
5. Select WCF Service from the list of templates displayed in the middle pane.
6. Select the File System option from the Web location drop-down list.
7. Select and replace the text in the text box next to the Web location drop-down list with D:\Exercises\Module 06\Exercise 03\CarDetailsWCF Service.
8. Click the OK button. The Service.cs file is displayed.
9. Type the highlighted portions of the following code snippet in the Service.cs file:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Data;
using System.Data.SqlClient;
10. Remove the following code snippet from the Service class:
public string GetOata(int value)
{
return string.Format("You entered: (0)", value);
>
public CompositeType GetDataUsingOataContract(CompositeType composite)
{
if (composite «■ null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue +- "Suffix";
>
return composite;
>
11. Type the highlighted portions of the following code snippet in the Service class:
public class Service : IService
{
public DataSet QueryCarModel(string model)
{ SqlConnection conObj = new SqlConnection(@"Data
Source:.\sqlexpress;database=LuxuryDrive;Integrated Securityrtrue;");
SqlDataAdapter daObj = new SqlDataAdapter("SELECT * FROM ModelNo = ," + model + ..., conObj)j
DataSet dsObj = new DataSetQ;
daObj.Fill(dsObj, "CarDetails");
return dsObj;
>
}
12. Ensure that the Solution Explorer window is opened.
13. Expand the App_Code node.
14. Double-click the I Service.cs file. The I Service.cs file is displayed.
15. Type the highlighted portion of the following code snippet in the IService.cs file:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Data;
...................
...................
16. Remove the following code snippet from the iservice interface:
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDatal)singDataContract(CompositeType composite);
// TODO: Add your service operations here
}
// Use a data contract as illustrated in the sample below to add composite types to service operations.
[OataContract]
public class CompositeType
{
bool boolValue = true; string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; } set { boolValue ■ value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; } set { stringValue = value; >
>
17. Type the highlighted portions of the following code snippet in the iservice interface:
public interface IService
{
[OperationContract]
DataSet QueryCarModel(string model);
>
18. Select FILE— Save All to save the changes.
19. Press the F6 key.
Task 3: Verifying the WCF Service
To verify the WCF service, you need to perform the following steps:
1. Open a new window of Microsoft Visual Studio 2012.
2. Select FILE—Open—Web Site. The Open Web Site dialog box is displayed.
3. Ensure that File System is selected in the left pane of the Open Web Site dialog box.
4. Browse to the location where the Exercise 03.zip file is extracted.
5. Expand the Exercise 03 folder.
6. Select the QueryCarDetailsClientApp folder, which is provided to you by the faculty, from the Select the folder you want to open list box.
7. Click the Open button. The QueryCarDetailsClientApp.sin (2) - Microsoft Visual Studio window is displayed.
8. Switch to the CarDetailsWCF Service (1) - Microsoft Visual Studio window.
9. Ensure that the Solution Explorer window is opened.
10. Ensure that the CarDetailsWCF Service(1) node is expanded.
11. Right-click the Service.svc file, and then select Set As Start Page.
12. Press the F5 key. The Debugging Not Enabled dialog box is displayed.
13. Click the OK button. The WCF Test Client window is displayed.
14. Close the WCF Test Client window.
16.Copy the URL from the address bar. and then close the Internet Explorer window.
17.Switch to the QueryCarDetailsClientApp.sIn (2) - Microsoft Visual Studio window.
18.Select Website—Add Service Reference. The Add Service Reference dialog box is displayed. Paste the copied URL in the Address combo box, and then click the OK button.
19.Click the Make Writeable button, if the Edit of Read-Only File dialog box is displayed.
20.Ensure that the Solution Explorer window is opened.
21.Right-click the QueryCarDetailsPage.aspx file, and then select Set As Start Page.
22.Select FILE—Save All to save the changes. The Save File As dialog box is displayed.
23.Browse to the location where Exercise 03.zip file is extracted.
24.Double-click the Exercise 03 folder.
25.Click the Save button.
26.Press the F5 key.
27.Type M002 in the Enter a Model No text box. and then click the Show Details button. The details of the model M002 appear.
29. Close the Internet Explorer window.
30. Close the Microsoft Visual Studio 2012 windows.
SEND ME TOP JOB PROJECT
ReplyDelete