WCF基础教程之开篇:创建、测试和调用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。
上面我们创建了一个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的更多相关文章
- WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?
在上一篇WCF基础教程之开篇:创建.测试和调用WCF博客中,我们简单的介绍了如何创建一个WCF服务并调用这个服务.其实,上一篇博客主要是为了今天这篇博客做铺垫,考虑到网上大多数WCF教程都是从基础讲起 ...
- 知道WCF的地址用工厂通道方式快速调用WCF
知道WCF的地址用工厂通道方式快速调用WCF 1 using System; 2 using System.ServiceModel; 3 using System.ServiceModel.D ...
- Java基础教程——多线程:创建线程
多线程 进程 每一个应用程序在运行时,都会产生至少一个进程(process). 进程是操作系统进行"资源分配和调度"的独立单位. Windows系统的"任务管理器&quo ...
- WCF基础教程——vs2013创建wcf应用程序
引言 近期在项目中见到了师哥们常常谈到的WCF这方面的知识.当时在写程序的时候也没有理解wcf究竟是个什么东西? 以及我们为什么在项目中会採用这种框架来实现,仅仅是依照师哥他们写好的代码编写同样格 ...
- IOS5基础教程之一-----如何创建XCode项目
一.IOS的基础知识 1.只有一个应用程序正在运行.在IOS上,每一段时间内只能激活一个应用程序并在屏幕上显示. 2.只有一个窗口.只允许应用程序操作的一个窗口. 3.访问受限.只能在IOS为应用程序 ...
- python基础教程:包的创建及导入
包是一种通过用“带点号的模块名”来构造 Python 模块命名空间的方法. 例如,模块名 A.B 表示 A 包中名为 B 的子模块.正如模块的使用使得不同模块的作者不必担心彼此的全局变量名称一样,使用 ...
- 纯手写wcf代码,wcf入门,wcf基础教程
1.定义服务协定 =>定义接口 using System.ServiceModel; namespace WcfConsole { /// <summary> /// 定义服 ...
- 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代码方式来 ...
- WCF入门教程(一)简介
WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...
随机推荐
- cookie session URL重写 与考试
状态管理.Cookie.Session.URL重写 HTTP协议:无状态的连接(每次连接都是新的请求)1.隐藏字段 <input type="hidden" name=&qu ...
- 关于C#怎么固定窗口大小属性详解
原文地址:http://zhidao.baidu.com/link?url=aDqlJMuABC8IxXz5drmZcPIHHlTKX2mrfIpyRZNFp0IAB6RSxT24B2XXMRCK1e ...
- cnavas
1.创建一个画布eg:<cnavas width=100px;height=100px; style="border:1px solid rgba(242 ,54,33,0.1)&qu ...
- jquery easyui window中的datagrid,只能显示一次问题
最近项目中用到easyui 的动态创建window ,window中嵌入了datagruid.第一次打开是能显示数据,但再次打开时确没显示: 注:url已成功返回了数据. 多次查阅easyui帮助文档 ...
- Win7 64位 VS2015环境使用SDL2-2.0.4
之前在VS中使用SDL2,如果只链接SDL2.lib,会提示 error LNK2019: unresolved external symbol _main referenced in functio ...
- Asp.Net 利用反射获得委托和事件以及创建委托实例和添加事件处理程序
子程序定义: public delegate void CurrentControlListenEvent(string uniqueID, string way = null); public ev ...
- <Android>文件下载
使用HTTP协议下载文件 创建一个URL对象 通过URL对象,创建一个HttpURLConnection对象 调用getInputStream()方法得到InputStream对象 从InputStr ...
- java-内省与javabean
JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性 ...
- Lua与C++互相调用(上)
int main1(int argc, const char * argv[]) { lua_State* L = luaL_newstate();//创建栈 luaopen_base(L); lua ...
- Reactnative 随笔一
---恢复内容开始--- 1.ReactDOM.render() React的最基本方法,用于将模板转为HTML语言,并插入指定的DOM节点 将h标签插入example节点 2.HTML语言直接 ...