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 客户端示例程序运行界面如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值