Windows Phone 7 網路編程之調用WCF Service

來源:互聯網
上載者:User
 

一、WCF Service簡介

    WCF(Windows Communication Foundation)是Microsoft為構建面向服務的應用提供的分布式通訊編程架構,使用該架構,開發人員可以構建跨平台、安全、可靠和支援交易處理的企業級互聯應用解決方案。WCF是微軟整合了微軟分布式應用程式開發中的眾多成熟技術,如Enterprise Sevices(COM+)、.Net Remoting、Web
Service(ASMX)、WSE和MSMQ訊息佇列。

通訊範圍:可以跨進程、跨機器、跨子網、企業網乃至於Internet;

宿主:可以是ASP.NET(IIS或WAS),EXE,WPF,Windows Forms,NT Service,COM+;

通訊協定:TCP,HTTP,跨進程以及自訂。

二、 建立WCF Service

下面示範一下如何搭建一個WCF服務,簡單地輸出一個字串。

第一步:開啟visual studio 2010建立一個WCF服務應用程式。

 
第二步:修改Service1.svc和IService1.cs檔案。

建立好的項目預設的檔案目錄如下:

在Service1.svc中添加方法

public string HelloWCF()       
{        
return "Hello WCF";

}

在IService1.cs中添加介面:

[OperationContract]
string HelloWCF();

第三步:建立一個網站的虛擬目錄指向WCF的項目工程。

在控制台中找到Internet資訊管理器並開啟,在Default Web Site節點下建立一個虛擬目錄,命名為wcf,路徑指向本例子的web應用程式的代碼,並點擊確定。

三、 調用WCF Service

第一步:在Windows Phone項目中添加WCF服務引用,組建代理程式。

引用成功後會產生一個ServiceReferences.ClientConfig檔案,檔案如下:

<configuration>

 <system.serviceModel>

<bindings>

<basicHttpBinding>

                <binding
name="BasicHttpBinding_IService1"
maxBufferSize="2147483647"

                    maxReceivedMessageSize="2147483647">

                    <security
mode="None" />

                </binding>

           
</basicHttpBinding>

       </bindings>
<client>

<!--http://localhost/wcf/Service1.svc是指WCF服務的地址-->           
<endpoint address="http://localhost/wcf/Service1.svc"
binding="basicHttpBinding"               
bindingConfiguration="BasicHttpBinding_IService1"
contract="WCFService.IService1"              
name="BasicHttpBinding_IService1" />       
</client>   
</system.serviceModel>

</configuration>

第二步:調用WCF服務。       
WCFDemo.WCFService.Service1Client proxy = new WCFService.Service1Client();           
proxy.HelloWCFCompleted += new EventHandler<WCFService.HelloWCFCompletedEventArgs>(proxy_HelloWCFCompleted);           
proxy.HelloWCFAsync();

 
void proxy_HelloWCFCompleted(object sender,
WCFService.HelloWCFCompletedEventArgs e)
 {           
textBlock1.Text = e.Result.ToString();     
}

XAML代碼

<Grid x:Name="ContentPanel" Grid.Row="1"
Margin="12,0,12,0">        
   <TextBlock
Height="63" HorizontalAlignment="Left"
Margin="60,47,0,0" Name="textBlock1" Text=""
VerticalAlignment="Top" Width="249" />    
</Grid>

運行效果:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.