文章目录

  • 1. `以管理员运行VS` 创建WCF服务端项目
  • 2. 覆盖IService1.cs
  • 3. 覆盖Service1.cs
  • 4.修改app.config
  • 5. 在当前解决方案中新建控制台应用
  • 6. 添加刚刚wcf服务库的引用
  • 7. 创建成功,打开对应网页
  • 8. `.net framework`创建客户端
  • 9. `要先运行之前的GettingStarted项目!`添加服务引用
  • 10. 运行成功

1. 以管理员运行VS 创建WCF服务端项目

2. 覆盖IService1.cs

using System;
using System.ServiceModel;namespace GettingStartedLib
{[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]public interface ICalculator{[OperationContract]double Add(double n1, double n2);[OperationContract]double Subtract(double n1, double n2);[OperationContract]double Multiply(double n1, double n2);[OperationContract]double Divide(double n1, double n2);}
}

3. 覆盖Service1.cs

using System;
using System.ServiceModel;namespace GettingStartedLib
{public class CalculatorService : ICalculator{public double Add(double n1, double n2){double result = n1 + n2;Console.WriteLine("Received Add({0},{1})", n1, n2);// Code added to write output to the console window.Console.WriteLine("Return: {0}", result);return result;}public double Subtract(double n1, double n2){double result = n1 - n2;Console.WriteLine("Received Subtract({0},{1})", n1, n2);Console.WriteLine("Return: {0}", result);return result;}public double Multiply(double n1, double n2){double result = n1 * n2;Console.WriteLine("Received Multiply({0},{1})", n1, n2);Console.WriteLine("Return: {0}", result);return result;}public double Divide(double n1, double n2){double result = n1 / n2;Console.WriteLine("Received Divide({0},{1})", n1, n2);Console.WriteLine("Return: {0}", result);return result;}}
}

4.修改app.config

将第 14 行更改为
<servicename=“GettingStartedLib.CalculatorService”>
将第 17 行更改为
< add baseAddress =“http://localhost:8000/GettingStarted/CalculatorService” />
将第 22 行更改为
< endpoint address="" binding=“wsHttpBinding” contract=“GettingStartedLib.ICalculator”/>

5. 在当前解决方案中新建控制台应用

6. 添加刚刚wcf服务库的引用

7. 创建成功,打开对应网页


8. .net framework创建客户端


using ConsoleApp4.ServiceReference1;
using System;
using System.ServiceModel;namespace GettingStartedClient
{class Program{static void Main(string[] args){//Step 1: Create an instance of the WCF proxy.EndpointAddress epAddress = new EndpointAddress("http://localhost:8000/GettingStarted/CalculatorService");CalculatorClient client = new CalculatorClient(new WSHttpBinding(), epAddress);//CalculatorClient client = new CalculatorClient();// Step 2: Call the service operations.// Call the Add service operation.double value1 = 100.00D;double value2 = 15.99D;double result = client.Add(value1, value2);//Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);// Call the Subtract service operation.value1 = 145.00D;value2 = 76.54D;result = client.Subtract(value1, value2);Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);// Call the Multiply service operation.value1 = 9.00D;value2 = 81.25D;result = client.Multiply(value1, value2);Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);// Call the Divide service operation.value1 = 22.00D;value2 = 7.00D;result = client.Divide(value1, value2);Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);// Step 3: Close the client to gracefully close the connection and clean up resources.Console.WriteLine("\nPress <Enter> to terminate the client.");Console.ReadLine();client.Close();}}
}

9. 要先运行之前的GettingStarted项目!添加服务引用

右键添加里面有,服务引用

10. 运行成功

C# WCF学习并创建简单WCF示例相关推荐

  1. Java学习:创建简单的名片管理系统

    创建简单的名片管理系统 一.创建名片实体类 二.创建名片管理类 1. 创建主菜单 2. 创建登录方法 3. 创建名片管理方法 5. 添加名片方法 6.创建保存名片方法 7.创建读取名片文件方法 8. ...

  2. WCF学习(一)WCF概述

    WCF是.NETFramework上灵活的通信技术.在.NET3.0推出之前,一个企业解决方案需要几种通信技术.对于独立于平台的通信,使用ASP.NET Web服务.对于比较高级的Web服务--可靠性 ...

  3. libjpeg学习1:简单使用示例

    libjpeg这个库主要用于处理jpeg数据,比如将RGB压缩成JPEG,或者将JPEG解压为RGB.其实早在4年前已经接触过,但一直没写过这方面的文章.后来想想还是有必要写出来,至少可以证明自己搞过 ...

  4. oracle生成存储过程示例,oracle创建简单存储过程示例

    1.创建存储过程 create or replace procedure P_DMI_AGENT is begin delete DMI_AGENT; insert into DMI_AGENT SE ...

  5. libjpeg用法linux压缩,libjpeg学习1:简单使用示例

    #include #include #include #include #include #include #include // jpeg库头文件必须放到stdio.h后面 #include &qu ...

  6. WCF Service 的创建,测试,发布与使用示例

    WCF Service 的创建,测试,发布与使用示例 一, WCF Service 的创建: WCF Service Application 注: 为了在 IIS 或 WAS 中托管,则必须使用 WC ...

  7. WCF入门(一)——简单的示例

    这篇随笔写了一段时间了,当时没有发布,今天整理文档的时候发现了,顺便给配了些图.主要是绍了一下WCF编程模型,并给了一个简单的示例. 概述 WCF框架是下一代.NET平台通信应用程序的核心.它包含了W ...

  8. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅-第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  9. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅-第三个示例之一(二十七)               WCF学习之旅-第三个示例之二(二十八)              WCF学习之旅-第三个示例之三(二十九)   ...

最新文章

  1. C/C++之变长数组(VLA)和可伸缩型数组成员
  2. 课时 25:Kubernetes 网络模型进阶(叶磊)
  3. 201521123031 《Java程序设计》第6周学习总结
  4. Java 改变cmd颜色_9 个小技巧让你的 if else 看起来更优雅!
  5. Microsoft发布用于统一事件处理的Azure事件网格
  6. UC/OS-II的学习
  7. 在lighttpd上使用fastcgi方式部署hg server
  8. Java底层抛出异常_总结java的exception
  9. 【动态规划】subsequence 1
  10. PHP学习 - Composer的安装及配置
  11. 把MSDE 2000 打包的自己的安装程序说明
  12. C++中main函数中参数argc和argv的使用实例
  13. ug建模文本怎么竖着_ug模型如何雕刻立体汉字
  14. 验证集与测试集的区别
  15. Unity shader 空气扭曲效果
  16. 【MIPS汇编编程练习Lab5】汇编中的条件语句 大于小于比较 if-else statement slt
  17. 腾讯、百度、高德、谷歌、天地图地图瓦片
  18. pdf 对ie的兼容方法
  19. Linux中常见的指令(三):几个查看文件内容的指令,ctrl+c的理解
  20. 树莓派存储方案_树莓派搭建seafile存储重要文件

热门文章

  1. 对计算机技术的发展方向研究,现代计算机技术的发展方向趋势
  2. 程序媛养成第0天--pytorch入门学习
  3. android 低功耗BLE蓝牙连接示例代码
  4. c语言方括号中写负数,c语言方括号的用法
  5. 51nod-1366 贫富差距——并查集
  6. 微信小程序中,json对象与字符串相互转换
  7. C语言编辑换行符怎么打,c语言中的换行符怎么打
  8. 选择了什么样的工作就选择了什么样的生活方式
  9. 关于Nand Flash和Nor Flash的XIP
  10. idea中热部署插件JRebel的激活和采用依赖的方式进行热部署