블로그 이미지
정홍주
Azure에 대한 내용뿐만 아니라 새로운 트렌드로 빅데이터, BI, SharePoint, 앱 등의 내용을 다룹니다.

calendar

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

Notice

2013.03.19 08:34 Microsft Azure

 

Windows Azure Update - 2013 3 18

 

Windows Azure가 또 업데이트 되었습니다.

관련내용은 Scott 의 블로그 게시물에 자세히 나와 있으니 참고하십시오.

http://weblogs.asp.net/scottgu/archive/2013/03/18/windows-azure-new-hadoop-service-html5-js-cors-phonegap-mercurial-and-dropbox-support.aspx

 

l  Mobile Services: HTML5/JS Clients

l  Web Site: Source Control Update –Dropbox 등 추가

l  HDInsight: Hadoop Preview

 

Mobile Services 에 대한 내용은 아래 그림을 보시면 앱에서 HTML 메뉴가 포함된 것을 확인할 수 있습니다. 

 

 

HTML, ASP.NET 에도 Windows Azure Mobile Services를 손쉽게 이용할 수 있을지 한번 알아보도록 하겠습니다.

HDInsight 에 대한 내용은 바로 이어서 글을 올리겠습니다.

 

 

posted by 정홍주
2013.02.21 07:00 Microsft Azure

 

Cloud Service Provider 벤치마크 테스트 결과 – Nasuni

 

Cloud Service Provider (CSP) 는 MS Amazon 외에 HP, Google Cloud, Rackspce(OpenStack) 등이 있습니다. , 우리나라는 왜 없는 걸까…,

CSP를 대상으로 Nasuni 에서 나온 스토리지에 쓰기/읽기/삭제 테스트에 대한 결과니 참고하시기 바랍니다. Windows Azure가 Amazon Web Service 를 능가하는 것으로 나왔네요.

 

l  Microsoft Azure overtakes Amazon's cloud in performance test

http://www.networkworld.com/news/2013/021913-azure-aws-266831.html?hpg1=bn

l  Comparing Cloud Storage Providers in 2013 - Infographic

http://www.nasuni.com/blog/193-comparing_cloud_storage_providers_in

위 링크의 이미지를 아래 참조했습니다.

l  White Paper: The State of Cloud Storage in 2013

http://www6.nasuni.com/the-state-of-cloud-storage-in-2013-nasuni-industry-report.html

위 링크에서 보다 더 자세한 결과를 PDF 로 다운로드 받을수 있습니다.

2013_Nasuni_CSP_Report.pdf

 

위의 링크에 있는 Infographic 이미지를 아래 추가했습니다.

출처- http://nasunicdn.s3.amazonaws.com/images
/nasuni_infographic_the_state_of_cloud_storage_in_2013.jpg

 

 

'Microsft Azure' 카테고리의 다른 글

Mobile Services – Android  (0) 2013.03.02
Windows Azure – 한국어 지원  (0) 2013.03.02
Cloud Service Provider 벤치마크 테스트 결과 – Nasuni  (0) 2013.02.21
Windows Azure Update –12월  (0) 2012.12.24
Windows Azure - 지불 한도  (4) 2012.12.03
Windows Azure Store  (0) 2012.11.09
posted by 정홍주
2012.12.03 08:00 Microsft Azure

 

Windows Azure - 지출 한도

 

대학생들 대상으로 Azure 교육을 진행할 일이 있어 지출 한도에 대한 내용을 정리합니다.

 

Windows Azure 계정을 활성화하고 사용하다, 지출 한도를 해제하고 비용 청구가 되었다는 얘기들이 있습니다.

일단 지출 한도는 기본이며 필요시 사용자가 해제하게 됩니다. 하지만 구체적으로 살펴보지 않고무심코 해제했다가 월별 제한 값을 초과하게 되면 비용이 청구되어 발생하는 내용입니다.

 

다음은 아래 사이트에 있는 내용입니다.

http://www.windowsazure.com/ko-kr/pricing/spending-limits/

 

사용자가 제안에 포함된 사용량을 실수로 초과하여 요금이 부과되는 일이 없도록 보호하기 위해 지출 한도 기능을 도입했습니다. 이제부터 90일 무료 평가판 또는 회원 제안(: MSDN 제안)에 등록하는 모든 고객은 기본적으로 $0(USD)의 지출 한도가 적용됩니다.

 

언제든지 지출 한도를 제거할 수 있습니다. 그러나 일단 제거하면 지출 한도 기능을 다시 활성화할 수 없습니다. 따라서 오프라인 상태가 되어서는 안 되는 응용 프로그램이 있는 구독의 지출 한도만 제거하는 것이 좋습니다.

 

지출 한도에 대한 부분은 Windows Azure 구독에서 설정할 수 있습니다. 위 글에서와 마찬가지로 다시 되돌리기가 안됩니다.

 

지출 한도 설정 링크를 클릭시 아래와 같은 창이 나타납니다.

, 지출 한도를 제거하겠습니다. 이 구독에 포함된 범위를 벗어나는 사용량에 대해 요금이 청구된다는 사실을 이해했습니다

 

지출 한도를 설정하고 있는 상황에서 월별 제한을 초과하게 되면 아래와 같은 메일이 날아옵니다.

Your Windows Azure MSDN - Visual Studio Ultimate has been disabled to prevent charges

 

만들어 둔 여러 서비스가 비활성화되므로 지출 한도를 무심코 해제하게 됩니다.

 

지출 한도를 설정하고 있으면서 불필요한 서비스를 삭제하게 되면 해당 월의 청구일이 끝나면 아래와 같은 메일을 받게 되며 활성화되게 됩니다.

Your Windows Azure MSDN - Visual Studio Ultimate has been enabled

 

또한 요금을 정확히 알 수 없냐는 얘기도 있는데

본인의 구독 정보(계정 > 구독)를 클릭하면 구독에 대한 개요와 청구 내역을 알 수 있고 청구 내역은 아래 그림처럼 Excel로 다운로드 하여 구체적인 항목을 확인 가능합니다.

 

 

posted by 정홍주
2012.10.29 13:00 Microsft Azure

 

Windows Azure - .NET Framework 4.5 지원

 

이제 Windows Azure 에서 .NET Framework 4.5 가 지원됩니다. VS 2012 에서 웹사이트를 Azure로 게시할 경우 .NET 4.0으로 변환하고 게시를 했었지만 .NET Framework 4.5 를 지원하므로 바로 게시가 가능합니다.

토요일 Windows Azure Camp 에서 Windows 8 에서 게시하니 되더라고요~

관련 링크는 아래 정보를 확인할 수 있습니다.

http://weblogs.asp.net/scottgu/archive/2012/10/25/net-4-5-now-supported-with-windows-azure-web-sites.aspx

 

.NET 4.5로 프로젝트를 생성했습니다.
 

그리고 Windows Azure 에서 Web Site를 하나 생성하고 Configure메뉴를 보니 4.5 를 지원하는 메뉴가 보입니다. 이틀전 토요일에도 안 나타났습니다.

 

게시하고 나서 사이트를 열어보니 잘 됩니다. .NET 4.5의 키워드로 코딩을 해야 하겠지만 간략히 지원되는 부분을 살펴보았습니다.

 

 

posted by 정홍주
2012.10.22 08:00 Microsft Azure

 

Windows Azure Mobile Services – Push Notification Update

 

저번 주 업데이트로 Push Notification을 구성하는 내용에 대한 부분도 변경되었습니다. 기존 처럼 작업하면 제대로 구성되지 않아 본글을 참조하시면 됩니다.

Windows Azure 뿐만 아니라 Windows Store 개발자 계정이 있어야 Push Notification을 구성해서 테스트 할 수 있습니다. Windows Azure Mobile Services Data 에 대한 내용은 변경이 없으므로 본 글은 Mobile Services를 구성한 후 진행하는 것으로 합니다.

 

Mobile Services를 통해 Push Notification 을 구성하기 위해서는 스토어 앱을 먼저 등록해야 합니다. Live Connect 개발자 센터(https://manage.dev.live.com/Applications/Index?d=1&wa=wsignin1.0) 사이트로 이동합니다. 해당 페이지에서 기존 업데이트에서는 응용 프로그램 만들기를 했지만 업데이트 이후로는 Windows Store 대시 보드 페이지 링크를 클릭하여 Windows Store 앱을 먼저 생성합니다. Windows Store 개발자 계정이 없다면 미리 등록해야 합니다.

 

Windows Store 개발자 계정이 있다면 대시 보드 메뉴를 클릭하여 왼쪽 앱 등록 메뉴를 클릭합니다.

 

앱 이름을 클릭하여 Mobile Services의 이름을 입력하고 앱 이름 예약을 클릭하고 저장을 클릭합니다.

 

Mobile Services Visual Studio 2012 프로젝트로 돌아와서 솔루션 탐색기의 프로젝트를 오른쪽 클릭하여 스토어 메뉴의 응용 프로그램을 저장소에 연결메뉴를 아래 그림처럼 클릭합니다.

 

응용 프로그램을 Windows 스토어에 연결에서는 위에서 앱을 생성한 계정으로 로그인합니다.

 

앱 이름 선택에서 위에서 생성한 앱 이름을 선택하고 다음을 클릭합니다.

  

결과를 확인하고 연결을 선택합니다.

 

위의 내용으로 프로젝트의 패키지 속성에 대한 이름과 게시자가 설정됩니다. 또한 Live Connect 개발자 센터의 응용 프로그램 정보가 아래와 같이 변경됩니다.

 

이제 설정되었으모로 Client Server 로직을 작성하면 됩니다. 이제부터는 기존 업데이트와 동일합니다. 먼저  Client 로직을 작성해봅니다.

App.xaml.cs 로 이동하여 아래처럼 Channel 클래스를 추가하고 Push Notification 을 구성하겠습니다.

 

public class Channel

    {

        public int Id { get; set; }

        public string Uri { get; set; }

    }

 

Push Notification을 위해 아래와 같은 using 구문을 추가합니다.

using Windows.Networking.PushNotifications;

 

onLaunched 메서드는 async로 아래와 같이 변경합니다.

protected async override void OnLaunched(LaunchActivatedEventArgs args)

 

Push Notification 을 구성하기 위해 아래와 같은 코드를 onLaunched 메서드의 맨 아래에 추가합니다.

var ch = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

 

await MobileService.GetTable<Channel>().InsertAsync(new Channel() { Uri = ch.Uri });

 

Client 로직 구성은 끝났으며 앱이 구동될때 Mobile Services Channel 테이블에 Uri를 등록하게 됩니다.

 

Windows Azure Mobile Services로 이동하여 이미 생성한 Mobile Services 를 클릭하여 상단의 PUSH 메뉴를 클릭합니다. CLIENT SECRET PACKAGE SID Live Connect 사이트의 앱 이름을 클릭하여 설정 변경에서 API 설정을 클릭하면 결과를 확인할 수 있습니다. 값을 입력하고 저장을 클릭합니다.

 

Data 테이블에 값이 추가될 때 마다  Push Notification 을 전송하기 위해 Channel 테이블을 Mobile Services에 생성하도록 하겠습니다. DATA 메뉴를 클릭하고 하단의 CREATE 메뉴를 클릭합니다. 테이블 이름은 Channel로 지정합니다.

 

생성된 테이블은 아래와 같으며 컬럼이 id 만 생성되어 있는 것을 확인가능하며 코드와 Script를 통해 구성할 것입니다.

 

위 그림의 Script 메뉴를 클릭합니다. Script를 통해 추가적인 작업이 가능하며 여기서는 동일한  Uri 일 경우 Notification을 하지 않도록 스크립트를 아래와 같이 추가하고 Save 버튼을 클릭합니다.

 

스크립트의 실제 내용은 아래와 같습니다.

function insert(item, user, request) {

    var channelTable = tables.getTable('Channel');

    channelTable.where({ uri: item.Uri })

        .read({ success: insertChannelIfNotFound});    

 

    function insertChannelIfNotFound(existingChannels) {

        if(existingChannels.length > 0) {

                                          request.respond(200, existingChannels[0]);

        } else {

                                          request.execute();

        }

    }

}

 

마찬가지로 TodoItem 테이블을 클릭하여 마찬가지로 Script를 통해 Insert 동작에서 Channel 테이블에 등록된 Uri ToastNotification을 전송하는 스크립트를 작성합니다.

 

실제 스크립트는 아래와 같습니다.

function insert(item, user, request) {

    request.execute({

        success: function(){

                                          request.respond();

                                          sendNotifications(item);

        },

        error: function(err){

                                          request.respond(500, "Error");

        }

    });

}

 

function sendNotifications(item){              

    var channelTable = tables.getTable('Channel');

        channelTable.read({

            success: function(channels){

                channels.forEach(function(channel){

                    push.wns.sendToastText04(channel.Uri, {

                        text1: item.name,

                        text2: "text line 2",

                        text3:  "text line 3"

                    }, {

                        success: function(response){                                              

                            console.log(response);

                        },                                  

                        error: function(err){                                              

                            console.error(err);                      

                        }                    

                    });

                });

            }       

    });   

}

 

 

이제 Visual Studio 2012에서 로컬 컴퓨터로 실행하여 TodoItem에 값을 입력하면 ToastNotification이 발생됩니다.

 

 

이상으로 Push Notification의 업데이트 내용을 정리했습니다.

 

 

posted by 정홍주
2012.10.10 09:00 Microsft Azure

 

 

SQL Azure Export / Import – Preview Portal

 

Preview Portal에서 Service Bus 등의 새로운 변화가 있었는데 그 중에서 SQL Azure Export / Import 에 대한 내용을 다루어 보도록 하겠습니다. 기존 Portal 에 있었던 기능이며 새로운 기능은 아닙니다. BACPAC 으로 저장소에 Export 하고 Import 하는 내용을 Preview Portal에서 제공해주고 있는 것입니다.

 

l  Export

Preview Portal 에서 로그온 해서 SQL DATABASES 를 클릭해서 데이터베이스를 클릭해보면 아래와 같이 EXPORT 메뉴를 볼 수 있습니다.

 

EXPORT 메뉴를 클릭하면 다음과 같은 정보를 볼 수 있습니다.

 

파일이름은 BACPAC 확장자로 구성되며 Windows Azure 저장소에 저장되게 됩니다. BACPAC 이름과 저장소 컨테이너를 선택하거나 새로 생성하고 데이터베이스의 로그인 정보를 입력하고 확인을 선택하면 됩니다.

시간이 지나면 아래와 같은 작업 결과를 볼 수 있습니다.

 

해당 저장소 계정으로 이동하여 컨테이너를 클릭하면 위에서 작업한 컨테이너 이름에 해당 파일이 BLOB 데이터로 내보내기 된 것을 확인할 수 있습니다.

 

Visual Studio 2010의 서버 탐색기에서도 확인이 가능합니다. 또한 다른 이름으로 로컬에 저장할 수도 있습니다.

 

Export BACPAC 을 로컬 SQL Server에서는 데이터 계층 응용 프로그램 가져오기를 통해 데이터베이스를 생성할 수 있습니다.
 

가져오기가 완료되었고 실행해보면 데이터까지 있는 것을 확인 가능합니다.

 

 

l  Import

SQL Azure 에서 Import 하는 방법은 Preview Portal 에서 SQL DATABASES 메뉴에서 IMPORT 메뉴를 볼 수 있습니다.

 

IMPORT 메뉴를 클릭할 경우 BACPAC URL을 검색해서 저장소 계정의 BACPAC 파일을 선택할 수 있으며 데이터베이스 이름과 서버, 로그인 정보를 통해 IMPORT를 완료할 수 있습니다.

 

 

관리 사이트로 이동해서 실제 데이터를 확인 가능합니다.

 

이상으로 Preview Portal 에서 업데이트된 내용으로 기존 Portal 에서 제공되던 SQL Azure Export /Import 에 대한 내용을 알아보았습니다. 본 글과 연관된 내용으로 SQL Server 2012 를 통해 SQL Azure 에 데이터나 BACPAC를 처리하는 내용을 다음 글에서 알아보도록 하겠습니다.

 

posted by 정홍주
2012.10.08 08:29 Microsft Azure

 

Windows 스토어 & Windows Azure Web Sites

 

Windows Azure Mobile Services 를 통해서 Windows 8 App 에 대한 Data, Push Notification, Authentication 에 대한 내용을 접근할 수 있는데 Data 에 대한 내용은 추가적으로 Windows Azure Web Sites 를 통해서 접근이 가능합니다.

 

본 글에서는 ASP.NET MVC 4 Web API를 이용해서 Windows 8 App 에서 데이터를 조회하도록 하겠습니다. 먼저 데이터에 해당하는 SQL Azure 에 대한 내용은 미리 데이터가 아래 그림처럼 추가되어 있습니다.
 

SQL Azure를 이용하는 ASP.NET MVC 4  프로젝트를 .NET Framework 4로 생성합니다. 여기서는 아래 그림처럼 Web API 프로젝트로 생성합니다.
 

ADO.NET Entity Framework 을 통해 SQL Azure를 접근해보도록 하겠습니다. SQL Azure의 서버와 암호를 통해 해당 테이블을 접근합니다.
 

Web API 를 생성하기 위해 컨트롤러를 추가하면서 빈 API 컨트롤러를 선택합니다.
 

API 에는 아래와 같은 코드를 작성합니다. 

public class DemoController : ApiController

    {

        DemoEntities ent = new DemoEntities();

        // GET api/demo

        public List<Demo> Get()

        {

            var d = from p in ent.Demoes

                    orderby p.ID descending

                    select p;

 

            return d.ToList();

        }

테스트해서 JSON 파일을 확인했으면 Windows Azure로 게시합니다.

 

게시가 잘 되었다면 Windows 스토어 프로젝트를 생성합니다. 여기서는 빈 App 프로젝트로 생성합니다. MainPage.xaml.cs 에 아래와 같은 코드를 작성합니다. 위에서 게시한 Web API를 호출해서 ListBox에 바인딩하는 코드를 아래와 같이 작성합니다. 

public async void GetItems()

        {

            var serviceURI = "http://웹사이트.azurewebsites.net/API/Demo";

 

            using (var client = new System.Net.Http.HttpClient())

            using (var response = await client.GetAsync(serviceURI))

            {

                var result = await response.Content.ReadAsStreamAsync();

 

                var ser = new DataContractJsonSerializer(typeof(ObservableCollection<Demo>));

                var data = ser.ReadObject(result) as ObservableCollection<Demo>;

 

                this.listValues.ItemsSource = data;

            }

        }

Web API를 통해 손쉽게 JSON 처리가 가능하며 MVC 4 에서도 손쉽게 사용이 가능합니다. 또한 위에서 보았듯이 Web APIWindows 스토어 앱에서도 호출이 가능합니다. Windows Mobile Services의 경우 50~1,000건으로 제한되는데 필요하다면 1,000건 이상도 조회가 가능합니다.

posted by 정홍주
2012.10.05 09:04 Microsft Azure

 

 

Windows Azure - Mobile Services (4)

 

포럼에 질문이 올라와서 Mobile Services 데이터 페이징에 대한 내용을 정리합니다. Windows 8 App을 개발하실때 참조하실수 있습니다.

관련 내용은 아래 링크의 NOTE 부분을 참고하시기 바랍니다.

http://www.windowsazure.com/en-us/develop/mobile/tutorials/add-paging-to-data-dotnet/

To prevent data overflow in mobile device clients, Mobile Services implements an automatic page limit, which defaults to a maximum of 50 items in a response. By specifying the page size, you can explicitly request up to 1,000 items in the response.

 

Windows Azure Mobile Services는 기본적으로 50건의 데이터를 가져오도록 되어 있습니다. Take 메서드를 쓰면 1,000개까지 지원이 가능하며 페이징으로 구현할수 있습니다.

 

Mobile Services의 경우 실제 데이터는 아래 그림처럼 50건 이상이 있습니다.

 

기본적인 아래 쿼리 구문으로 데이터를 조회하면 해당 데이터는 50건만 나타나게 됩니다.

private void RefreshTodoItems()

        {

            // This code refreshes the entries in the list view be querying the TodoItems table.

            // The query excludes completed TodoItems

            items = todoTable

                .Where(todoItem => todoItem.Complete == false)

                .ToCollectionView();

            ListItems.ItemsSource = items;

        }

 

페이징에 대한 내용은 SKIP, TAKE 메서드를 통해 구현이 가능합니다. 51 건 이후의 2 페이지를 검색해보겠습니다.

private void RefreshTodoItems()

        {

            // This code refreshes the entries in the list view be querying the TodoItems table.

            // The query excludes completed TodoItems

            items = todoTable

                .Where(todoItem => todoItem.Complete == false).Skip(50).Take(50)

                .ToCollectionView();

            ListItems.ItemsSource = items;

        } 

1,000 건을 들고와 보겠습니다. 잘 동작합니다.

items = todoTable

                .Where(todoItem => todoItem.Complete == false).Take(1000)

                .ToCollectionView();

            ListItems.ItemsSource = items;

10,000 건을 들고오면 아래와 같이 Exception이 발생하게 됩니다. 1,001 을 조회하려고 해도 마찬가지로 오류가 발생합니다.

items = todoTable

                .Where(todoItem => todoItem.Complete == false).Take(10000)

                .ToCollectionView();

            ListItems.ItemsSource = items;

 

한꺼번에 1,000건 이상의 데이터를 다 들고 와서 App에서 사용하려고 한다면 WebAPI, REST 서비스를 별도로 만들어야 할 것으로 보입니다.

간략하게 Windows Azure Mobile Services 에 대한 데이터 페이징을 알아보았습니다.

posted by 정홍주
2012.09.20 08:00 Microsft Azure

 

Windows Azure Update

 

9월 중순(2012-09-17)Windows Azure가 일부 업데이트되었습니다. 업데이트 내용은 아래 링크를 참조할 수 있습니다.

http://weblogs.asp.net/scottgu/archive/2012/09/17/announcing-great-improvements-to-windows-azure-web-sites.aspx

 

l  “Shared” 스케일

l  사용자 지정 도메인

l  Deploy - CodePlex

 

스케일에 대한 경우는 Windows Azure Overview를 소개할 때 질문이 나왔던 사항이며, 지속적으로 업데이트 된다고 얘기했는데 요번에 업데이트가 되었습니다.

Windows Azure Web Site를 생성하고 나서 Scale로 가보면 아래와 같이 화면이 변경되어 있습니다.

 

Web Site Mode 3 가지로 FREE, SHARED, RESERVED 가 있는 것을 알 수 있습니다.

FREE의 경우는 고정 쿼터로 구동되는 웹 사이트이며 10개의 웹 사이트를 무료로 사용이 가능하며 SHAREDCPU, Memory, Network Usage 등의 쿼터가 없으며 대역폭의 한계도 가지고 있지 않은 고정과는 다른 유연한 모드입니다. RESERVED dedicated VM을 할당한 모드입니다. 적절하게 상황에 따라 모드를 웹 브라우저에서 바로 변경이 가능합니다. SHARED 모드를 사용하면 더 유연하고 저비용으로 사용이 가능할 것 같습니다.

 

SHARED, RESERVED 모드일 경우는 MANAGE DOMAINS 링크가 활성화됩니다. CNAME 뿐만 아니라 A 레코드에 대한 내용도 지원하고 있습니다.

 

배포에 대한 업데이트 내용은 위 링크를 참조할 수 있습니다.

posted by 정홍주
2012.09.10 08:30 Microsft Azure

Windows Azure – Mobile Services (3)

 

본 글에서는 Mobile Services를 통해 Windows 8 App에 인증을 손쉽게 구현해보도록 하겠습니다. 먼저 Windows Push Notifications & Live Connect 사이트에 로그온하여 내 앱 메뉴를 클릭합니다. 이미 작업했던 앱 이름을 확인할 수 있으며 앱 이름을 클릭하고 설정 변경에서  API 설정을 클릭합니다. 클라이언트 암호와 리디렉션 도메인을 아래 그림처럼 확인이 가능합니다. 클라이언트 암호는 Windows Azure Management Portal에서 사용할 것이며 리디렉션 도메인은 Windows Azure Management Portal Mobile Services 에서의 사이트 URL을 입력하면 됩니다.

(https://스이름.azure-mobile.net/)

 

Windows Azure Management Portal Mobile Services 로 이동하여 상세 정보 페이지로 이동하여 IDENTITY 메뉴에서 클리이언트 암호를 확인합니다.

DATA 메뉴를 클릭하고 TodoItem 을 클릭하여 권한을 인증된 사용자만 액세스 할 수 있도록 아래와 같이 설정합니다. 모든 권한을 Only Authenticated Users 로 선택하고 SAVE 메뉴를 클릭합니. 

 

Windows 8 App을 시작하고 저장이나 새로고침을 해보면 아래와 같은 401 오류가 발생하는 것을 알 수 있습니다.

 

Live SDK for Windows가 설치되어 있지 않다면 아래 URL을 통해 다운로드하여 설치합니다.

(http://msdn.microsoft.com/en-us/live/ff621310)

Windows 8 프로젝트의 솔루션 탐색기에서 참조 추가를 통해 Microsoft.Live.dll을 추가합니다.

C:\Program Files (x86)\Microsoft SDKs
\Live\v5.0\Metro XAML\References\CommonConfiguration\Neutral

 

개체 탐색기를 통해 Microsoft.Live.dll을 확인할 수 있습니다.

 

MainPage.xaml.cs 에 아래와 같은 using 구문을 추가합니다.

using Microsoft.Live;

using Windows.UI.Popups;

 

session 이라는 필드와 Authenticate 메서드를 MainPage 클래스에 아래와 같이 선언합니다.

private LiveConnectSession session;

 

 

private async System.Threading.Tasks.Task Authenticate()

{

LiveAuthClient liveIdClient = new LiveAuthClient("<<TODO Redirect URL here>>");

 

while (session == null)

{

       if (liveIdClient.CanLogout)

liveIdClient.Logout();

 

 

      LiveLoginResult result = await liveIdClient.LoginAsync(new[] { "wl.basic" });

      if (result.Status == LiveConnectSessionStatus.Connected)

      {

          session = result.Session;

          LiveConnectClient client = new LiveConnectClient(result.Session);

          LiveOperationResult meResult = await client.GetAsync("me");

          MobileServiceUser loginResult = await App.MobileService.LoginAsync(session.AuthenticationToken);

 

string title = string.Format("환영 {0} !", meResult.Result["first_name"]);

          var message = string.Format("로그인 ID - {0}", loginResult.UserId);

          var dialog = new MessageDialog(message, title);

          ialog.Commands.Add(new UICommand("OK"));

          await dialog.ShowAsync();

      }

      else

      {

          session = null;

          var dialog = new MessageDialog("로그인 필요");

          dialog.Commands.Add(new UICommand("OK"));

          await dialog.ShowAsync();

 

      }

 }

}

}

 

위 코드에서 <<TODO Redirect URL here>> Mobile Servicessite url을 입력합니다.

그리고 OnNavigtedTo 이벤트를 아래와 같이 수정합니다.

protected async override void OnNavigatedTo(NavigationEventArgs e)

        {

            await Authenticate();

            RefreshTodoItems();

        }

 

F5를 통해 App을 시작하면 아래와 같은 인증 창이 나타나는 것을 확인 가능합니다. 손쉽게 Live 인증에 대한 내용을 추가할 수 있다는 것을 알 수 있습니다.

로그인에 성공하면 코드에서처럼 dialog가 나타나게 됩니다.  

이상으로  Windows Azure에서 제공되는 Mobile Services 에 대한 Data, Push Notification, Authentication에 대한 내용을 알아보았습니다. 이를 통해 Windows 8 App에 대한 기능을 더 손쉽게 추가할 수있다는 것을 확인할 수 있습니다.

 

posted by 정홍주
prev 1 2 3 4 next