close

SilverLight 2.0愈來愈紅了,因為它提供一個很好的使用者經驗給使用者。但要發揮SilverLight,還必須懂WCF,知道如何在網路上提供Web Services來讓SilverLight程式呼叫,這次會利用Linq to Flickr結合SilverLight以及WCF來讓大家了解這方面的基本概念。

首先新增一個SilverLight專案,名稱取為FlickrSilverLightAP

2008-10-27_211105

之後會跳出一個設定視窗,選擇「在方案中加入新的ASP.NET Web專案以裝載Silverlight(N)」

2008-10-27_211215 

之後在方案總管上,對Page.xaml按右鍵,選擇「於Expression Blend中開啟(X)」

2008-10-27_212548

之後會以Expression Blend開啟Page.xaml,在Page.xaml加入1個Button以及TextBox,然後再多加上一個新的Canvas,xaml code如下。

<UserControl x:Class="FlickrSilverlightAP.Page"
    xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Width="800" Height="600">
    <Grid x:Name="LayoutRoot" Background="White">
        <TextBox Height="37" HorizontalAlignment="Left" Margin="24,29,0,0" VerticalAlignment="Top" Width="161" Text="" TextWrapping="Wrap" x:Name="TextBox1"/>
        <Canvas Margin="228,8,8,8" Background="AliceBlue"/>
        <Button Height="29" HorizontalAlignment="Left" Margin="24,108,0,0" VerticalAlignment="Top" Width="161" Content="確定" x:Name="Button1"/>
</Grid>
</UserControl>


完成的畫面如下

2008-10-27_213340

接下來要新增一個WCF服務,讓SilverLight程式可以抓到Flickr上的相片清單。

2008-10-28_164620

新增一個Operation。

2008-10-27_215633

之後在SilverLight專案上新增剛寫好的WCF Services。

2008-10-27_215716

2008-10-27_215906

之後再對Services做設定。

2008-10-28_164452

在集合型別上,選擇List(重要!)。

2008-10-28_165702

之後開啟Page.xaml.cs,開始撰寫按鈕的事件程式碼,這邊主要是去呼叫之前寫好的WCF Service。特別注意,在SilverLight上呼叫Web Service的方式跟傳統ASP.NET上有些不同。SilverLight由於是完全Client端的程式,所以呼叫是採非同步方式,把它想成是AJAX那樣就行了。首先,在Page的建構子上加入下列程式碼。

2008-10-28_181541

client物件有一個GetPhotoCompleted的事件,我們必須實作這個事件。

2008-10-28_181802

之後,再去呼叫GetPhotoAsync這個method就可以了。

2008-10-28_181930

接下來看看執行結果,照慣例,通常都不是很好看= =

2008-10-28_182031

藉著這次的範例,可以了解到SilverLight呼叫Web Service方面的基本概念,有興趣的人可以再試試更進階的功能。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 卑微研究生 的頭像
    卑微研究生

    卑微研究生的部落格

    卑微研究生 發表在 痞客邦 留言(0) 人氣()