费自托管WCF服务的整个过程,一步步地解释以及充足的编码和屏幕截图是非常有必要。

第1步:服务托管,现在我们需要实现的代理类客户端。创建代理的方式不同。

  • 使用svcutil.exe,我们可以创建代理类和配置文件以及端点。
  • 添加服务引用到客户端应用程序。
  • 实现 ClientBase<T> 类

这三种方法,实现ClientBase<T>类是最好的做法。如果使用了两个rest方法,需要创建一个代理类,每一次当我们做出改变服务的实现。但是,这不是对ClientBase<T>类情况。这将创建代理只能在运行,所以它会打理一切。

为此,创建一个代理类,其中包括refrencesof System.ServiceModel和MyCalculatorService。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using MyCalculatorService; namespace MyCalculatorServiceProxy
{
Public class MyCalculatorServiceProxy :
//WCF create proxy for ISimpleCalculator using ClientBase
ClientBase<ISimpleCalculator>,
ISimpleCalculator
{
Public int Add(int num1, int num2)
{
//Call base to do funtion
returnbase.Channel.Add(num1, num2);
}
}
}

现在,创建一个控制台应用程序,其中包括System.ServiceModel和MyCalculatorServiceProxy的参考。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using MyCalculatorServiceProxy; namespace MyCalculatorServiceClient
{
classProgram
{
Static void Main(string[] args)
{
MyCalculatorServiceProxy.MyCalculatorServiceProxy proxy = newMyCalculatorServiceProxy.MyCalculatorServiceProxy();
Console.WriteLine("Client is running at " + DateTime.Now.ToString());
Console.WriteLine("Sum of two numbers... 5+5 =" + proxy.Add(, ));
Console.ReadLine();
}
}
}

步骤2:结束点(相同服务)的信息应该被添加到客户端应用程序的配置文件。

 <?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address ="http://localhost:8090/MyCalculatorServiceProxy/ISimpleCalculator"
binding ="wsHttpBinding"
contract ="MyCalculatorServiceProxy.ISimpleCalculator">
</endpoint>
</client>
</system.serviceModel>
</configuration>

步骤3:运行客户端应用程序之前,需要运行的服务。客户端应用程序的输出如下所示。

原文地址:http://www.yiibai.com/wcf/wcf_consuming_services_iis.html

最新文章

  1. Oracle:从SQL文件批量导入数据
  2. JavaScript对浏览器的URL进行编码、解码
  3. CCNA实验1.port-security
  4. linux下关于mysqldump备份的.sql导入数据库表数据丢失优化
  5. POJ 3276
  6. Math.random();函数 随机数
  7. SOA和Web Service介绍
  8. bzoj3669: [Noi2014]魔法森林 lct
  9. Qt creator中文输入—fctix-qt5 源码编译 libfcitxplatforminputcontextplugin.so
  10. SSM学习(一)搭建基础框架
  11. 前端的UI设计与交互之数据录入篇
  12. Axios源码深度剖析 - 替代$.ajax,成为xhr的新霸主
  13. SSM框架整合(IntelliJ IDEA + maven + Spring + SpringMVC + MyBatis)
  14. Web开发——jQuery基础
  15. APP-2-Hbuilder开发环境搭建
  16. 十天精通CSS3(10)
  17. Linux下Google Test (GTest)测试环境搭建步骤
  18. 201621123008 《Java程序设计》 第三周学习总结
  19. 微信小程序 功能函数 支付接口
  20. Note.js的stream用法一例

热门文章

  1. RealThinClient (RTC)是什么?
  2. XHTML1.0对HTML4.0的改进
  3. Redis 四:存储类型之无序集合
  4. mysql 查询
  5. Scrumworks乱码
  6. EditorWindow 和MenuItem
  7. API网关
  8. Android crop image size
  9. LintCode-Search 2D Matrix II
  10. 面试问到struts1与struts2的解析对比