12/08/2018, 00:36

Cài đặt WCF service trên microsoft azure và sử dụng wcf trong lập trình window 8 app store.

Lý do tôi chọn giới thiệu về wcf service và microsoft azue trong lập trình window 8 app store. Khi ứng dụng của bạn là ứng dụng .net, bạn có như cầu lưu trữ và trao đổi thông tin trên mạng, giả sử bạn viết một game và bạn muốn lưu điểm người dùng trên mạng và lấy về để có được danh sách top ...

Lý do tôi chọn giới thiệu về wcf service và microsoft azue trong lập trình window 8 app store.

Khi ứng dụng của bạn là ứng dụng .net, bạn có như cầu lưu trữ và trao đổi thông tin trên mạng, giả sử bạn viết một game và bạn muốn lưu điểm người dùng trên mạng và lấy về để có được danh sách top user, wcf service và microsoft azue sẽ giúp bạn làm điều này một cách nhanh chóng. Có thể bạn sẽ thắc mắc tại sao lại tôi lại chọn WCF và microsoft azue, bởi lẽ WCF được thiết kế để làm việc một cách thống nhất và dễ dàng với các ứng dụng .net và microsoft azure hỗ trợ chúng ta có thể triển khai rất nhanh Wcf serice vào thực tế.

Về WCF các bạn có thể tham khảo thêm tại đây.

Giới thiệu về microsoft azure các bạn có thể xem tại tại đây.

Trong bài viết này, Tôi sẽ trình bày các bước để tạo một dịch vụ WCF có chức năng trả về một số random, sau đó tôi sẽ cài đặt dịch vụ wcf này trên microsoft azure. Và bước cuối cùng là làm thế nào để sử dụng được wcf service này trên ứng dụng window 8 app store.

Trước hết các bạn cần có một tài khoản Microsoft azure, Nếu bạn chưa có bạn có thể đăng ký tài khoản theo bài viết hướng dẫn sau. Bạn cũng cài đặt microsoft azure SDK. Nếu chưa có, bạn có thể cài đặt qua đường dẫn sau.

Sau đó chúng ta có thể bắt đầu công việc qua các bước sau:

1. Tạo một WCF Service

Mở Visual Studio 2013, và vào mục File->New->Project->trong thư mục Cloud, chọn Windows Azure Cloud Service, đổi tên project thành “RandomNumbers”.

0216.image_thumb_4BAE534F.png

Sau khi chọn tên project xong, một cửa sổ popup khác sẽ hiện ra, chọn “WCF Service Web Role” và sau đó click “>” button.

7446.image_thumb_50ED1433.png

Lúc này project của tôi sẽ như trong hình bên dưới:

2656.image_thumb_1EE54DDC.png

Sau đó đổi tên:

  • Service1 class -> RandomNumbers class.
  • IService1 interface -> IRandomNumbers interface.

Tiếp theo, tạo một function đơn giản trả về ngẫu nhiên một số trong khoảng 1 - 100.

Chúng ta cần add thêm function GetRandomNumber vào RandomNumber.svc.cs:

public string GetRandomNumber()
{
    Random number = new Random();
    return number.Next(1, 100).ToString();
}

Sau đó vào IRandomNumbers interface và thêm mới một operation contract GetRandomNumber:

[OperationContract]
string GetRandomNumber();

Bây giờ chúng ta cần build project wcf này để tạo thành packages và upload lên Azure.

Click chuột phải vào project ‘RandomNumbers’ sau đó click ‘Packages’ option, popup sau sẽ hiện lên:

0513.image_thumb_131FE0DD.png

Để deploy được package này trên Azure, click ‘Package’ button. File deploy sẽ được tạo ra trên folder ‘<YourProjectName>inReleaseapp.publish’.

5808.image_thumb_2F00F008.png

2. Deploy service trên Microsoft Azure

Trên Windows Azure website, vào dashboard: https://manage.windowsazure.com/#Workspace/All/dashboard. Sau đó click ‘New’ button, sẽ có dialog như sau hiện ra:

0624.image_thumb_3EE00EFF.png

Chọn ‘Cloud Service’ sau đó click ‘Quick Create’ option. Ở màn hình bên dưới, chúng ta nhập vào ‘randomnumbers’ trong ô text URL. Tiếp theo click vào ‘Create Cloud Service’ để tiến hành process đăng kí.

3264.image_thumb_54E67A91.png

Tôi sẽ có thêm một row mới trong mục ‘cloud services'.

8463.image_thumb_12FF9543.png

Sau đó click vào ‘randomnumbers’ cell, chúng ta sẽ được chuyển đến màn hình dashboard của service 'randomnumbers'. Tiếp theo click vào ‘Upload a new production deployment’ link để upload package lên môi trường production.

8154.image_thumb_1D50B9A3.png

Chúng ta cần upload package và file configuration đã thực hiện ở bước 1.

3264.image_thumb_58A41F61.png

Chúng ta cần check vào checkbox ‘Deploy even if one or more roles contain a single instance’ sau đó click "V" để bắt đầu cài đặt.

8176.image_thumb_36D846D0.png

Sau đó WCF service sẽ được cài đặt và chạy trên Microsoft Azure.

0045.image_thumb_49E94DAF.png

Bây giờ, chúng ta có thể sử dụng wcf service vừa tạo qua link: ‘http://randomnumbers.cloudapp.net/RandomNumbers.svc’

Step 3: Using the service in your Windows 8 Store App

Chúng ta sẽ rất dễ dàng sử dụng service vừa tạo trên window 8 app store hay những ứng dụng .net khác nữa. Tạo một project sử dụng 'Blank App' template.

6013.image_thumb_4DA6F27F.png

Sau đó click chuột phải vào project vừa tạo và click 'Add Service Reference':

2703.image_thumb_63AD5E11.png

Sử dụng link 'http://randomnumbers.cloudapp.net/RandomNumbers.svc' có được từ Microsoft Azure.

Để sử dụng được service vừa tạo, chúng ta implement như sau:

RandomNumberConsumer.ServiceReference1.RandomNumbersClient client = new ServiceReference1.RandomNumbersClient();

this.RandomNumberField.Text = await client.GetNumberAsync();
await client.CloseAsync();

Và giờ đây chúng ta đã implement xong wcf service trên window Azure và chạy nó trong ứng dụng của chúng ta. Và đây chính là lý do tôi lựa chọn WCF + Microsoft Azure cho lập trình window 8 app store, chúng ta có thể implement và cài đặt nhanh chóng một service để ứng dụng .net sử dụng. Source code tham khảo các bạn có thể down tại đây.

0