zoukankan      html  css  js  c++  java
  • Windows Phone 7 网络编程之调用WCF Service

     

    一、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>

    运行效果:





  • 相关阅读:
    IE6下不能定义1px高度的容器和IE6 双边距
    py django 渲染前端打包的视图
    关于常见的递推关系。
    题解:一些递推的题。
    题解:极值问题。
    题解:城南树林。
    题解:论编辑器的和谐共处。
    题解:左右横跳。
    题解:斑马,斑马(zebra)
    找 前端 私活
  • 原文地址:https://www.cnblogs.com/linzheng/p/2034552.html
Copyright © 2011-2022 走看看