关于WCF一些基础。
关于WCF
Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。
WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。
WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。
WCF专门用于面向服务开发。
使用
目录结构如下:

1 新建空白解决方案wcfapplication。
2 新建WCF服务应用程序testwcfService。
3 添加-新建项-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 testwcfService
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。
[ServiceContract]//来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。
public interface IUser
{
[OperationContract]//来说明该方法是一个WCF接口的方法,不加的话同上。
string ShowName(string name);
}
}
其中[ServiceContract]用来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。
[OperationContract]用来说明该方法是一个WCF接口的方法,不加的话同上。
User.svc代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text; namespace testwcfService
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“User”。
public class User : IUser
{
public string ShowName(string name)
{
string wcfName = string.Format("WCF服务测试,名字:{0}",name);
return wcfName;
}
}
}
则第一个WCF方法创建成功。
设User.svc为起始页,F5运行。
界面如下:

发布:
发布与部署同网站
部署成功后浏览到的界面如下:

上图中的http://localhost:55551/User.svc?wsdl即为我们要引用的服务地址。
为了方便这里就不新建一个新的网站了。直接在wcf项目中建立一个web网页,WCFClient.aspx
引用-右键-添加服务引用-在地址中输入http://localhost:55551/User.svc?wsdl。

单击确定,则引用成功。
WCFClient.aspx页面中拖入一个文本框控件和 一个按钮。
WCFClient.aspx.cs页面代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using testwcfService.ServiceReference; namespace testwcfService
{
public partial class WCFClient : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void Button1_Click(object sender, EventArgs e)
{
UserClient user = new UserClient();
string result = user.ShowName(this.TextBox1.Text);
Response.Write(result);
user.Close();
}
}
}
运行程序:页面如下:

参考资料:
http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html
WCF应用的通信工程:http://www.cnblogs.com/iamlilinfeng/archive/2012/09/26/2703759.html
WCF与实体类:http://www.cnblogs.com/hexinxiaoyao/archive/2013/04/09/3010155.html
关于WCF一些基础。的更多相关文章
- WCF系列 基础概念
		WCF全称Windows Communication Foundation,是微软构建面向服务的分布式编程框架.而它其实是统一了COM和.Net Remoting等分布式技术提供一个完整,通用,可靠的 ... 
- WCF REST 基础教程
		概述 Representational State Transfer(REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格. 因此REST是设计风格而不是标准,R ... 
- 3 WCF一些基础铺垫
		1首先上一张wcf通讯图 a.Proxy代理部分底层调用的是 xxxxClient=> ChannelFactory=>IInpuChannel/IOutChannel... b.Tran ... 
- WCF Windows基础通信
		概述 WCF,Windows Communication Foundation ,Windows通信基础, 面向服务的架构,Service Orientation Architechture=SOP ... 
- WCF入门教程:WCF基础知识问与答(转)
		学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ... 
- WCF 学习系列——WCF的学习基础
		这个系列的博客由WCF4 高级编程学习记录,如有错误请指正. 首先介绍一些概念: SOA: (Service-Oriented Architecture 面向服务架构),一种架构方法,也是一种编程模式 ... 
- WCF服务承载(笔记)
		自托管(也做自承载) 承载 WCF 服务最灵活.最便捷的方法就是进行自承载.要能够自承载服务,必须满足两个条件.第一,需要 WCF 运行时:第二,需要可以承载 ServiceHost 的托管 .NET ... 
- 【WCF全析(一)】--服务协定及消息模式
		上周微软开发布会说.NET支持完全跨平台和并开放Core源码的新闻,让我们顿时感到.NET要迎来它的春天.虽然早在几年前.NET就能开发Android和IOS,但是这次的跨平台把Linux都放到了微软 ... 
- WCF账户密码认证
		记录一下我实现WCF用户认证与权限控制的实现方法, 也让其他网友少走一些弯路. 内容写得非常小白(因为我也是小白嘛), 比较详细, 方便WCF知识基础薄的朋友 主要分为下面几个步骤 作为例子, 创建最 ... 
随机推荐
- 转:USB主机控制器(Host Controller)--深入理解
			1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1) • ... 
- cf B Red and Blue Balls
			思路:把字符串转化为一个二进制,遇到B就是一个数二进制中的1,答案就是这个数. #include <cstdio> #include <cstring> #include &l ... 
- Java NIO API详解
			在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API.对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端 ... 
- Struts 2 标签
			注:要使用Strust 2标签需<%@ taglib prefix="s" uri="/struts-tags" %> 表单标签: .form标签 ... 
- Balance(01背包)
			Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9163 Accepted: 5617 Description Gigel ... 
- bzoj3438
			很容易想到是最小割模型首先对于一个点i,从s到i连一条容量为ai的边,再从i连一条容量为bi的边到t然后就是处理附加权的问题了一开始受到之前的思维定势的影响,一直在思考怎么在作物之间连边由于每种额外收 ... 
- Qt入门(18)——使用信号和槽连接控件
			下面显示了如何使用信号和槽来创建自定义窗口部件,和如何使用更加复杂的方式把它们连接起来. 首先,源文件被我们分成几部分并放在放在t7目录下. t7/lcdrange.h包含LCDRange类定义.t7 ... 
- github继续折腾
			又在折腾github了,本来以前在neworiginou这个github上上传过项目的: 现在想在另一个github上joely上传项目,发现按以前的流程做个测试,居然没能上传成功! 经发现,以前的n ... 
- 使用StaticResource给控件定义公共的样式和属性来写界面XAML
			一:效果图 二:定义公共的样式和属性 在MainPage.xaml中 <phone:PhoneApplicationPage.Resources> <SolidColorBrush ... 
- delphi NativeXml的中文支持 乱码
			一般XML的编码格式设置成UTF8比较通用,下面演示使用UTF8编码方式存储和处理包含中文的XML字符串(文件).1.设置启用内置的widestring支持 NativeXml内部使用ANSI str ... 
