龙鱼家园,个性,交流,技术,专注于网站技术的研究 龙鱼家园 | WCF 开发示例向导 Part 3 --- 经典推荐
 

WCF 开发示例向导 Part 3 --- 经典推荐

调用 WCF 服务
WCF 服务可以由客户端的应用程序来调用,因此调用WCF 服务的第一步是创建WCF 客户端程序和相关的配置文件。 Service Model Metadata 工具(Svcutil.exe)是一个命令行工具,可以用来创建WCF 客户端。另外,也可以通过增加Service 引用来创建WCF 客户端,本示例程序采用这种方法。
 
 
创建WCF 客户端
在 Visual Studio 2008 – Windows Form Application 项目中,增加Service 引用。在弹出的Add Service Reference 窗口,输入相应的WCF Service 的地址。示例窗口如下:
 


 
点击 OK 按钮后,项目文件如下,增加了WCFForumServiceReference 的引用:
 

 


使用 WCF Client

创建 WCF Client 实例与WCF 服务进行交互。如下代码创建了 WCF Client Proxy 实例对象:
WCFForumServiceClient wcfForumServiceClient = new
     WCFForumServiceClient("WSHttpBinding_IWCFForumService");
 
WCFForumServiceClient 是增加WCF 服务引用时,自动生成的WCF Client 类。WSHttpBinding 是端点绑定方法,在web.config 配置文件中进行指定,IWCFForumService 是WCF 服务接口对象。
 
在创建并实例化 WCF Client Proxy 代理对象后,就可以像访问Web Service 一样,访问WCF 公布的方法了。 调用GetTOP10Messages() 和 GetMessage() 方法的示例代码如下:
        private void btnRetrieveMessage_Click(object sender, EventArgs e)
        {
            MessageInfo[] messageList = new MessageInfo[]{};
 
            messageList = wcfForumServiceClient.GetTOP10Messages();
 
            grdTop10.DataSource = messageList;
            grdTop10.Columns[0].DataPropertyName = "MessageID";
            grdTop10.Columns[0].HeaderText = "MessageID";
            grdTop10.Columns[1].DataPropertyName = "Message";
            grdTop10.Columns[1].HeaderText = "帖子内容";
            grdTop10.Columns[1].Width = 300;
            grdTop10.Columns[2].DataPropertyName = "PostedDate";
            grdTop10.Columns[2].HeaderText = "发布时间";
 
        }
 
        private void btnRetrieveSpecifiedMessage_Click(object sender, EventArgs e)
        {
            if (CheckValid())
            {
                int iMessageID = int.Parse(txtMessageID.Text.Trim());
 
                lblMessage.Text = wcfForumServiceClient.GetMessage(iMessageID);
            }
        }
 
WCF 客户端示例程序运行界面如下:
 

 


结 论
这仅仅是WCF (Windows Communication Foundation ) 框架的一个入门示例文章。欢迎访问http://forum.EntLib.com 开源ASP.NET 论坛,有更多资源和文章。
 
 
Reference:
1. Codeproject.com, Windows Communication Foundation (WCF) Overview, by Deepthi Viswanathan Nair
http://www.codeproject.com/KB/WCF/WCFOverview.aspx


Search

友情链接

  • 微足迹
  • 资质通鉴
  • 译言
  • 代码发芽网
  • 清清月儿
  • 二频
  • dotnetblogengine
  • 苹果树下
  • 联系我:
    leonardleonard@126.com

    © Copyright 2012