一转眼,又半个月没有更新博客了。说实话,最近确实是有点忙。不过即使再忙忙,也要抽空来学习一些东西。最近用WCF比较多,就来跟大家分享一下关于WCF的知识吧!为了让大家都能看懂,照顾一些没有学过WCF的原有,就从最基础的东西写起,希望大家可以体谅。

 一、创建一个简单的WCF服务

  打开VS2013,新建Silverlight项目,名字自己随便起,并创建Web站点,创建完项目后,我们在Web项目中添加一个WCF服务,名字输入UserService,为了简单起见,选择启用了Silverlight的WCF服务,如图:

这样创建出来的WCF服务会自动在webconfig中生成配置信息,关于WCF的配置也不是几句话能说清楚的,到后面有时间再写几篇博客来说一下WCF吧。然后,我们修改Dowork方法,如图:

然后,我们在UserService.cs上面点击鼠标右键,在浏览器中预览,如果没有错误的话,就会出现如下内容:

到这里,一个WCF服务就建好了,下面来测试一下我们的WCF是否能正常工作,这里为大家推荐一款工具,WCFStorm,我们打开WCFStorm,如图:

我们复制网页地址栏的地址,粘贴到URL栏中,然后点击右边的绿色箭头按钮,然后,我们会看到软件解析WCF服务,显示WCF中的方法,如图:

然后我们选择一个方法,就会在右边的窗口中看到具体的参数和返回值,如图:

这里没有参数,我们之间点击执行,会看到最右边的到了执行结果,如图:

我们看到了,返回的结果为string类型,内容为Hello,world。

 二、在SilverLight中调用WCF服务

  上面我们创建了一个WCF服务,并用WCFStorm工具进行了测试。下面我们在SilverLight中进行调用,这里没做过Silverlight没关系,你会WPF自然就会Silverlight了,其实SilverLight就相当于跑在浏览器中的WPF。这里我们在SilverLight项目中,引用上面点击鼠标右键,添加服务应用,如图:

点击发现按钮,就会出现我们刚刚的WCF服务地址,然后修改命名空间为UserServiceReference,点击确定即可。下面我们在MainPage.cs中添加代码,调用WCF方法,代码如下:

    public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
GetData();
} public void GetData()
{
UserServiceReference.UserServiceClient client = new UserServiceReference.UserServiceClient();
client.DoWorkCompleted += client_DoWorkCompleted;
client.DoWorkAsync();
} void client_DoWorkCompleted(object sender, UserServiceReference.DoWorkCompletedEventArgs e)
{
MessageBox.Show(e.Result.ToString());
} }

为了验证正常打开了,我们在页面中随便加点控件,这里我添加了一个按钮控件,运行项目后,会调用WCF服务,然后弹出一个消息框,显示Hello,world.

今天就先说到这里吧,欢迎大家加入QQ交流群一起交流学习~~

作者:雲霏霏

QQ交流群:243633526

博客地址:http://www.cnblogs.com/yunfeifei/

声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

如果大家感觉我的博文对大家有帮助,请推荐支持一把,给我写作的动力。

WCF基础教程之开篇:创建、测试和调用WCF的更多相关文章

  1. WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?

    在上一篇WCF基础教程之开篇:创建.测试和调用WCF博客中,我们简单的介绍了如何创建一个WCF服务并调用这个服务.其实,上一篇博客主要是为了今天这篇博客做铺垫,考虑到网上大多数WCF教程都是从基础讲起 ...

  2. 知道WCF的地址用工厂通道方式快速调用WCF

    知道WCF的地址用工厂通道方式快速调用WCF  1 using System;  2 using System.ServiceModel;  3 using System.ServiceModel.D ...

  3. Java基础教程——多线程:创建线程

    多线程 进程 每一个应用程序在运行时,都会产生至少一个进程(process). 进程是操作系统进行"资源分配和调度"的独立单位. Windows系统的"任务管理器&quo ...

  4. WCF基础教程——vs2013创建wcf应用程序

    引言   近期在项目中见到了师哥们常常谈到的WCF这方面的知识.当时在写程序的时候也没有理解wcf究竟是个什么东西? 以及我们为什么在项目中会採用这种框架来实现,仅仅是依照师哥他们写好的代码编写同样格 ...

  5. IOS5基础教程之一-----如何创建XCode项目

    一.IOS的基础知识 1.只有一个应用程序正在运行.在IOS上,每一段时间内只能激活一个应用程序并在屏幕上显示. 2.只有一个窗口.只允许应用程序操作的一个窗口. 3.访问受限.只能在IOS为应用程序 ...

  6. python基础教程:包的创建及导入

    包是一种通过用“带点号的模块名”来构造 Python 模块命名空间的方法. 例如,模块名 A.B 表示 A 包中名为 B 的子模块.正如模块的使用使得不同模块的作者不必担心彼此的全局变量名称一样,使用 ...

  7. 纯手写wcf代码,wcf入门,wcf基础教程

    1.定义服务协定     =>定义接口 using System.ServiceModel; namespace WcfConsole { /// <summary> /// 定义服 ...

  8. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

  9. WCF入门教程(一)简介

    WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...

随机推荐

  1. Android中的接口回调技术

    Android中的接口回调技术有很多应用的场景,最常见的:Activity(人机交互的端口)的UI界面中定义了Button,点击该Button时,执行某个逻辑. 下面参见上述执行的模型,讲述James ...

  2. pip 8 安装

    1.首先安装setuptools 2.再安装pip http://blog.csdn.net/u013372487/article/details/51726002

  3. CSS clear清除浮动

    1.CSS中的clear有四个参数: none:允许两边都可以浮动. left:不允许左边有浮动. right:不允许右边有浮动. both(默认):不允许有浮动. 2.一开始在CSS中clear浮动 ...

  4. Python 6 —— 异常

    Python 6 —— 异常 异常分类 AttributeError:调用不存在的方法 EOFError:遇到文件末尾引发异常 ImportError:导入模块引发异常 IndexError:列表越界 ...

  5. Sublime+Golang Plugin

    很喜欢在Sublime开发Golang程序,主要是要一个Sublime Golang Plugin, 可以给代码autocomplement.相当的棒! 1.安装Sublime https://www ...

  6. 为Page添加INotifyPropertyChanged功能

    在Page页面里面, DataContext 更新后,前台数据要求会自动更新. 但前台的绑定如果用x:bind 语法. 它要求强类型.直接关联到DataContext上就不行了. 需要为Page 添加 ...

  7. IOS中CoreData浅析

    CoreData简介: 什么是CoreData? Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中, ...

  8. 使用ShareSDK一键分享

    首先需要到ShareSDK官方网站注册并且下载SDK,创建应用,获得ShareSDK的Appkey:文件如图: 在ShareSDK中打开即可:输入项目名称和包名,选择要分享的平台,点击确定会自动生成一 ...

  9. jQUery 1.9中被删除的API

    jQuery1.9删除了一些在以前版本中已经过时的api,想要把那些不够安全的.缺乏效率的.用处不大的,以及带有误导的特性统统去掉.如果你想升级你的jquery版本,但又使用了如下被删除的api的话, ...

  10. 也学习Java/JVM/GC(四)

    GC日志分析 程序代码: public class JvmTest { public static void main(String[] args) { int m = 1024 * 1024; by ...