关于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一些基础。的更多相关文章

  1. WCF系列 基础概念

    WCF全称Windows Communication Foundation,是微软构建面向服务的分布式编程框架.而它其实是统一了COM和.Net Remoting等分布式技术提供一个完整,通用,可靠的 ...

  2. WCF REST 基础教程

    概述 Representational State Transfer(REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格. 因此REST是设计风格而不是标准,R ...

  3. 3 WCF一些基础铺垫

    1首先上一张wcf通讯图 a.Proxy代理部分底层调用的是 xxxxClient=> ChannelFactory=>IInpuChannel/IOutChannel... b.Tran ...

  4. WCF Windows基础通信

    概述 WCF,Windows Communication Foundation ,Windows通信基础, 面向服务的架构,Service Orientation Architechture=SOP ...

  5. WCF入门教程:WCF基础知识问与答(转)

    学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ...

  6. WCF 学习系列——WCF的学习基础

    这个系列的博客由WCF4 高级编程学习记录,如有错误请指正. 首先介绍一些概念: SOA: (Service-Oriented Architecture 面向服务架构),一种架构方法,也是一种编程模式 ...

  7. WCF服务承载(笔记)

    自托管(也做自承载) 承载 WCF 服务最灵活.最便捷的方法就是进行自承载.要能够自承载服务,必须满足两个条件.第一,需要 WCF 运行时:第二,需要可以承载 ServiceHost 的托管 .NET ...

  8. 【WCF全析(一)】--服务协定及消息模式

    上周微软开发布会说.NET支持完全跨平台和并开放Core源码的新闻,让我们顿时感到.NET要迎来它的春天.虽然早在几年前.NET就能开发Android和IOS,但是这次的跨平台把Linux都放到了微软 ...

  9. WCF账户密码认证

    记录一下我实现WCF用户认证与权限控制的实现方法, 也让其他网友少走一些弯路. 内容写得非常小白(因为我也是小白嘛), 比较详细, 方便WCF知识基础薄的朋友 主要分为下面几个步骤 作为例子, 创建最 ...

随机推荐

  1. study note -(some good sentence)

    There are, however, some disadvantages.However, there may be better ways of tacking this problem. Ho ...

  2. Java this 心得

    用类名定义一个变量的时候,定义的应该只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法,那们类里面是否也应该有一个引用来访问自己的属性和方法纳?呵呵,JAVA提供了一个很好的东西,就是 t ...

  3. bzoj3280

    bzoj1221的变形版本,弄懂1221,这题还是很简单的 ; type node=record        point,next,flow,cost:longint;      end; ..] ...

  4. bzoj3709

    首先明显会想到贪心对于那些怪物回血比耗血多的,我们显然应该先打耗血少的那些回血比耗血多的怎么办呢?由于不管怎么打(假设体力负数了还能打),最终体力是一定,我们从最终体力倒推,相当于先吃药掉血,打怪物回 ...

  5. JDK安装配置与升级

    一.jdk1.4卸载 Redhat Enterprise 5 中自带安装了jdk1.4,在安装jdk1.6前,把jdk1.4卸载: 1. 首先查看系统自带的JDK版本: [root@linux ~]# ...

  6. 最近 弄了一个 discuz 7.2,管理员发帖 会出现 很多错误,解决 办法 在别的帖子中找到了

    公司弄了一个网站,是php 的 还要有 论坛,然后配置论坛配置 了 好几天,然后好不容易配置上了,发现以管理员 发帖 的时候, 页面就会出现 各种错误,各种 警告 解决办法 是,在bbs  文件夹 里 ...

  7. FusionCharts(v3.6.0)使用(1)

    前段时间做一个统计系统,需要画各种图表,于是找到了FusionCharts这个插件,功能甚是强大.在这个闲暇的春日午后,将这个插件的快速使用的方法写下来,方便懒得去官网看英文的朋友参考 安装 Fusi ...

  8. Velocity常用方法

    1.字符串替换 replace#if($!{name} != '')#set($tempName = $!{name})#set($tempName = $tempName.Replace('abc' ...

  9. iOS开发ARC入门和使用

    本文引自:http://www.onevcat.com/2012/06/arc-hand-by-hand/ 英文原版:http://www.raywenderlich.com/5677/beginni ...

  10. 类似与fiddler的抓包工具 burp suite free edition

    burp suite free edition