1.首先我罗列一下网站搜索并经过自己理解的WCF的含义:

1)WCF:(WIndows Communication Foundation)是由微软是由微软发展的一组数据通信的应用开发接口,可以翻译为Windows通讯接口,
             最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息,专门用于面向服务开发(SOA)

2)WCF整合了.NET远程技术(Remoting)、Web Service和微软消息队列服务等技术,它可以跨进程、跨机器、跨平台、跨子网、企业网乃至于 Internet

2.下面我新建一个WCF服务:

在visual studio 2012中新建项目,做如下图操作

删除系统生成的两个文件IService1.cs与Service1.svc,并且“添加新项”-->"WCF服务",命名User.svc,结果如下图

打开IUser.cs文件,代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel; //必须
using System.Text; namespace First_Wcf
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。
[ServiceContract] //来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用
public interface IUser
{
[OperationContract] //来说明该方法是一个WCF接口的方法,不加的话将不能被外部调用
string ShowName(string name);
}
}

打开User.svc,代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel; //必须
using System.Text; namespace First_Wcf
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“User”。
// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 User.svc 或 User.svc.cs,然后开始调试。 public class User : IUser
{
public string ShowName(string name)
{
string wcfName = string.Format("这是WCF服务,你输入的姓名是:{0}",name);
return wcfName;
}
}
}

程序写好了,下面测试看对不对。F5启动项目后出现下图弹出框

双击“ShowName()”,得到下图

在上图右侧把“(null)”修改为张三得到下图

到这一步说明WCF服务程序没有错误。

3.新建windows窗体应用程序,用来调用服务

窗体程序Test_First_Wcf如图并且设置为启动项目

右键“引用”,添加“服务引用”,出现下图弹出框

如果之前的WCF服务已经部署到IIS上的话,可以在地址栏中输入地址就可引用,现在我没有部署,所以点击“发现”得到下图

点击确定即可


在窗体文件Form1中拖来如下控件,Label2用来显示结果,所以把Label2的Text设为空

后台程序如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace Test_First_Wcf
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
ServiceReference1.UserClient uc = new ServiceReference1.UserClient();//实例化服务 string name = this.textBox1.Text; this.label2.Text = uc.ShowName(name);
}
}
}

F5运行程序如下

很简单的程序,WCF踏出了第一步,我将继续努力!!

我的第一个WCF程序,很简单适合我等菜鸟的更多相关文章

  1. 跟我一起学WCF(4)——第一个WCF程序

    一.引言 前面几篇文章分享了.NET 平台下其他几种分布式技术,然而前面几种分布式技术专注于某一特定的领域,并且具有不同编程接口,这使得开发人员需要掌握多个API的使用.基于这样的原因,微软在.NET ...

  2. WCF入门教程2——创建第一个WCF程序

    本节目标 掌握接口 理解契约式编程 创建宿主程序 创建客户端程序访问服务 什么是接口 认识一下接口 必须知道的接口特性 接口不可以被实例化(常作为类型使用) 实现类必须实现接口的所有方法(抽象类除外) ...

  3. 建立第一个wcf程序

    使用管理员权限启动vs (否者将导致ServiceHost开启失败 权限不足) 1.创建一个空的控制台程序 2.添加程序集引用 System.ServiceModel 3.写入一些代码 如下 usin ...

  4. WCF学习笔记(一)---我的第一个WCF程序

    一.创建WCF程序   1.创建一个控制台程序(WCFBlog)   2.添加wcf项目   3.将默认的IService1和Service1改成自己的名字   4.在ICalculateServic ...

  5. 一个神奇却很简单的css特效

    在网上看到一个前端大牛的主页,觉得他有一个特效特别酷,一开始还以为是要用什么javascript代码来实现,但仔细看一下,发觉只是用几行css代码就搞定了,我觉得挺好的. 他这个效果就是鼠标放在左半部 ...

  6. 我的第一个WCF程序

    写WCF,VS需要一管理员身份呢启动,否则服务无法访问. model层 using System; using System.Runtime.Serialization; namespace MyMo ...

  7. 第一个WCF程序

    WCF的服务需要寄宿在进程中,我们把服务端的叫做宿主,为服务指定宿主指定的过程叫服务寄宿.有两种方式一种是自我寄宿(Self-Hosting),一种是IIS寄宿方式.Self-Hosting我们通过一 ...

  8. 我的第一个unity3d Shader, 很简单,基本就是拷贝

    Shader "Castle/ColorMix" { Properties { // 基本贴图 _MainTex ("Texture Image", 2D) = ...

  9. 如何建立一个WCF服务并将其发布到IIS上

    在我们的软件开发中,经常会连接到数据库中,如果是常规的操作,我们经常会将连接数据库的字符串写在配置文件中,然后去读取数据库的连接字符串,其实这种方式是非常不科学的,这会直接暴露我们的数据库,直接暴露我 ...

随机推荐

  1. TYVJ P1053 字符串的展开 Label:字符 水

    背景 NOIP2007年提高组第2道 描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简 ...

  2. OpenCV count the number of connected camera 检测连接的摄像头的数量

    有时候在项目中我们需要检测当前连接在机子上的摄像头的数量,可以通过下面的代码实现,其中连接摄像头的最大数量maxCamNum可以任意修改: /** * Count current camera num ...

  3. Java泛型总结

    1. 什么是泛型?泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类.可以把类型参数看作是使用参数化类型时指定的类型的 ...

  4. 通过SEP禁用USB

    1      Introduction 1.1      Scope This document provides comprehensive information of the reinforce ...

  5. Nginx 笔记与总结(5)访问日志管理:计划任务 + 日志切割

    要在第二天的凌晨把前一天的访问日志切割备份,并以时间作为文件名,例如:access.20150728.log,这就需要在 Linux 中格式化时间,例如: [root@localhost ~]# da ...

  6. Sublime Text3注册码(可用)

    Sublime Text3注册码(可用) (2014-12-20 21:24:56) 转载▼ 标签: sublime sublime3 sublimetext sublimetext3 分类: 实用工 ...

  7. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  8. shell 中的数学计算

    1.1.第一种——expr格式:expr 操作数 1 操作符 操作数 2举例:      1 expr 1 + 2 TMP=$(expr 1 + 2)      2 expr 1 + 4 / 3 TM ...

  9. MyCAT安装指南

    MyCAT安装指南 MyCAT 1.2版本 快速上手-安装指南(安装单机) Mycat的server和mysql位于同一台服务器,centos6.2.4环境 Mycat:10.191.116.175 ...

  10. file_get_contents无法获取数据的一种情况

    下面这段php代码突然不好使了,返回的 $html 为空,百思不得解.网上说法好多,但都是一家之言,解决不了我的问题.(我的解决方法也是一家之言,只能解决file_get_contents获取不到数据 ...