在上一篇文章上,我建立了一個最簡單的wcf services

那麼這次我就來練習看看用silverligt呼叫這個已經建立好的wcf

下面的範例,其實我是參考這個網站來當作練習的

http://www.dotblogs.com.tw/lolota/archive/2008/12/10/6329.aspx

不過該網站中所提到的部份因是用vs2008+silverlight3的方式做的,跟我用vs2010應該是不太一樣,因為就我自己實作的結果,並不需要那麼複雜,可能是vs2010簡化了吧…

OK!我還是使用上一篇所建立的方案繼續加一個silverlight3的專案

按下ok後,會出現如下視窗,這邊我選<new web project>,因為我沒有已經建立好的web應用程式,所以我選擇自動產生一個,當然如果有的話,就直接選擇你自己的web站台專案即可,而因為vs2010rc版沒有支援silverlight4,所以沒有得選啦!正式版出來時,應該就會支援了吧!?

建立後,我的方案中有3個專案

 

 

接下來在mainpage.xaml中的畫布中,拉一個button及二個textbox

接下來我們把之前建立的wcf服務,加入到這個silverlight當作參考

將上一個範例在iis中的網址copy上來,或者你自己已經有做好的wcf服務也可以直接拿來用囉!

接下來在button的click事件中寫一些東西!

 

 

程式碼如下

private void button1_Click(object sender, RoutedEventArgs e)
       {

             //將service建立起來
           WcfTest.ExamClient wt = new WcfTest.ExamClient();

           //建立eventhandler
           wt.HelloCompleted += new EventHandler<WcfTest.HelloCompletedEventArgs>(wt_HelloCompleted);

          //將參數傳入wcf中建立的方法
           wt.HelloAsync(this.textBox1.Text);
       }

void wt_HelloCompleted(object sender, WcfTest.HelloCompletedEventArgs e)
       {
          
this.textBox2.Text = e.Result;
       }

告訴你一小方法,如果是高手的話,就可以略過不用看了啦!哈

就是在上述的程式碼中,紅色的部份,一開始打的時候,只要打到+=即可,之後按鍵盤上的tab鍵,就會幫你把

new EventHandler<WcfTest.HelloCompletedEventArgs>(wt_HelloCompleted);

這行寫完囉!,並產生藍色區的程式碼,黑色字體的部份都是要自己打的!這樣應該是還蠻簡單的了吧!

來執行看看吧!

成功囉!我的第一支使用silverlight呼叫wcf程式!

下一次來使用wcf回傳資料集的結果到silverlight上的datagrid看看!

arrow
arrow
    全站熱搜

    丫德 發表在 痞客邦 留言(1) 人氣()