我的WCF学习之旅(1)什么是WCF

&>&&>&开发技术&>&C#&>&我的WCF之旅 1~13 合集
我的WCF之旅 1~13 合集
上传大小:4.28MB
我的WCF之旅 1~13 合集(转)
WCF是构建和运行互联系统的一系列技术的总称,它是建立在Web Service架构上的一个全新的通信平台。你可以把它看成是.NET平台上的新一代的Web Service。WCF为我们提供了安全、可靠的的消息通信,也为我们提供了更好的可互操作性是的我们可以和其他的平台进行“交流”。
微软斥巨资打造WCF,在我们看来主要出于下面两个目的:实现其对现有的分布式技术的整合以及顺应SOA的浪潮。在WCF之前,微软已经为了提供了一套完整的基于分布式的技术和产品,这些技术和产品使我们构建一个基于于分布式的互联系统变得异常简单。我们熟悉的技术包括Enterprise Service,.NET Remoting, XML Web Service, MSMQ等等,这些不同的技术和产品为相同的功能提供了不同的实现。对于技术的发展,我觉得“统一”是一个主线:为了让基于Web的开发可以采用我们基于Windows Form的事件驱动、基于控件开发模式,我们有了ASP.NET;为了使具有不同结构的数据(.NET Object, XML, Relational Data etc)采用相同的操作方式,我们有了LINQ。同样,对于一个分布式系统的开发,将不同的分布式技术整合起来,提供一个统一的编程模型是绝对有必要的,WCF就是基于这样的一个目的发展起来的。
但是,如果你认为WCF仅仅是这些不同的分布式技术简单地组合在一起,那就错了。WCF在对这些技术进行整合的时候,始终有一个指导方针,那就是SOA。SOA,毫无疑问是今后开发互联系统的一个趋势,对于SOA,我想网上充斥着太多的相关的信息,我在这里就不做任何介绍了。SOA的发展离不开一个大家能够一致尊崇的一个标准,而WS-* 就是这个标准。WCF基本上实现了目前所有的WS-* 标准。
在过去半年之后,我陆陆续续写了一些关于WCF介绍的一些文章,我把它命名为“我的WCF之旅”,目的在于向大家分享我学习WCF这一段旅程。现在把把这个系列做一个阶段性的总结,以飨读者。...展开收缩
综合评分:4.2(33位用户评分)
所需积分:4
下载次数:102
审核通过送C币
installshield2015Premier破解版
创建者:qq_
[资源优选]第二十期:20个热门的C#源码
创建者:nigelyq
C#相关开发英文原版电子书
创建者:doomlord
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
/*删除回复*/
$(".del_comment_r").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
评论共有21条
为什么我下载下来,却看不成,没有内容
不错,可以学习一下,谢谢。
不错啊。值得学习
很不错,学习了,挺实用的
谢谢!有帮助!
不错的wcf教程,,有源码演示,不错。
作为学习,还可以看看
好的学习资料,谢谢
好的学习资料,谢谢
很好,值得,正是所需要的,感谢楼主分享!
上传者其他资源上传者专辑
UML核心编程技术.pdf
WCF 3.5开发技术详解.pdf
开发技术热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&vip年卡&4000万程序员的必选
我的WCF之旅 1~13 合集
会员到期时间:剩余下载次数:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
VIP年卡全年1200次免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
caiqiupeng
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:我的WCF之旅(ArTect)
出处:http:a本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。我的WCF之旅(2):EndpointOveviewWCF实际上是构建了一个框架,这个框架实现了在互联系统中各个Application之间如何通信。使得Developes和Achitect在构建分布式系统中,无需在考虑如何去实现通信相关的问题,更加关注与系统的业务逻辑本身。而在WCFInfastuctue中,各个Application之间的通信是由Endpoint来实现的。Endpoint的结构Endpoint包含以下4个对象:Addess:Addess通过一个URI唯一地标识一个Endpoint,并告诉潜在的WCFsevice的调用者如何找到这个Endpoint。所以Addess解决了WheetolocatetheWCFSevice?Binding:Binding实现在Client和Sevice通信的所有底层细节。比如Client与Sevice之间传递的Message是如何编码的——textXML,inay,MTOM;这种Message的传递是采用的哪种Tanspot——TCP,Http,NamedPipe,MSMQ;以及采用怎样的机制解决SecueMessaging的问题——SSL,MessageLevelSecuity。所以Binding解决的是Howtocommunicatewithsevice?Contact:Contact的主要的作用是暴露某个WCFSevice所提供的所有有效的Functionality。从MessageExchange的层面上讲,Contact实际上是抱每个Opeation转化成为相对应的MessageExchangePatten——MEP(RequestResponse;One-way;Duplex)。所以Contact解决的是WhatfunctionalitiesdotheSevicepovide?Behavio:Behavio的主要作用是定制Endpoint在运行时的一些必要的Behavio。比如Sevice回调Client的Timeout;Client采用的Cedentialtype;以及是否支持Tansaction等。当我们Host一个WCFSevice的时候,我们必须给他定义一个或多个Endpoint,然后sevice通过这个定义的Endpoint进行监听来自Client端的请求。当我们的Application需要调用这个Sevice的时候,因为Client和Sevice是通过Endpoint的进行通信的,所以我们必须为我们的Application定义Client端的Endpoint。只有当Client的Endpoint和Sevice端某个Endpoint相互匹配(Sevice端可以为一个Sevice定义多个Endpoint),Client端的请求才能被Sevice端监听到。也就是说,我们只有在Client具有一个与Sevice端完全匹配的Endpoint,我们才能调用这个Sevice。而这种匹配是比较严格的,比如从匹配Addess方面,Client端和Sevice端的EndpointAddess不仅仅在URI上要完全匹配Sevice,他们的Heades也需要相互匹配。对于Binding,一般地,Client需要有一个与Sevice端完全一样的Binding,他们之间才能通信。Sample首先给一个Sample,以便我们对在WCFSeviceAplication中如何定义Endpoint有一个感性的认识。整个Solution的结构参照下图,我的上一篇Blog([原创]我的WCF之旅(1):创建一个简单的WCF程序)中有详细的介绍。你也可以通过后面的Link下载相应的SouceCode(http:filesatechAtech.WCFSevice.zip)
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
13368&&人浏览
17407&&人浏览
8731&&人浏览
9837&&人浏览
7469&&人浏览
17664&&人浏览
1999&&人浏览
12386&&人浏览
18323&&人浏览
1858&&人浏览
17226&&人浏览
13592&&人浏览
8641&&人浏览
326&&人浏览
10188&&人浏览
本文标题:我的WCF之旅(ArTect) 链接地址:
copyright@ 2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号我们一起学习WCF第一篇初识WCF(附源码供对照学习)_ASP.NET技巧_动态网站制作指南
我们一起学习WCF第一篇初识WCF(附源码供对照学习)
来源:人气:355
& & &前言:去年由于工作需要我学习了wcf的相关知识,初期对wcf的作用以及为何用怎么样都是一知半解,也许现在也不是非常的清晰。但是通过项目对wcf的运用在脑海里面也算有了初步的模型。今天我就把我从开始wcf所遇到的困难以及解决方案一点点记下来,可能还有很多不足之处那我们一起共同学习。在学习之前我们有必要初步的看下百度百科对wcf的解释,让我们心中有这一个概念,然后建立项目,然后再次看概念,然后在去更深层的建立项目,然后再去理解这样反复的去做我相信可以做好wcf。那么下面我就会从初识wcf,wcf消息协定,文件传输,聊天室,wcf和socket的联合运用来写。不好之处大家提出来 我进行修正。
第一步:创建一个解决方案
创建一个解决方案我们需要创建4个类库
IService:契约层(也就是我们常说的接口层)
Service:服务层(实现契约层)
Hosting:服务端(可以理解为服务器)
Client:客户端(请求调用)
第二步:创建接口层
/// &summary&
/// 服务契约
/// &/summary&
[ServiceContract]
public interface IWcfService
/// &summary&
/// 测试wcf方法
/// &/summary&
/// &param name="Name"&请求用户名&/param&
/// &returns&&/returns&
[tionContract]
string TestMethod(string Name);
IWcfService
注释1:[ServiceContract]&这个表示一种特性,告诉编译器该类型属于服务契约,同理[OperationContract]&告诉编译器该类型属于操作契约
注释2:记得引用ServiceModel
第三步:实现接口层
1 public class WcfService:IService.Interface.IWcfService
public string TestMethod(string Name)
return "Hello 我是:" + N
WcfService
第四步:实现服务端
1 static void Main(string[] args)
Uri baseadress = new Uri("http://localhost:8080/");
using (ServiceHost host = new ServiceHost(typeof (WcfService), baseadress))
WSHttpBinding binding = new WSHttpBinding(); //绑定
binding.Security.Mode = SecurityMode.N
host.AddServiceEndpoint(typeof(IWcfService), binding, "");
ServiceMetadataBehavior mdBehavior = new ServiceMetadataBehavior()
HttpGetEnabled = true
host.Descrtion.Behaviors.Add(mdBehavior);
host.Opened += delegate
Console.WriteLine("服务启动");
host.Open();
catch (Exception ep)
Console.WriteLine(ep.Message);
host.Abort();
host.Close();
Console.ReadKey();
注释3:Uri baseadress=new Uri("http://localhost:8080/") &baseadress表示一个基址(绝对地址) &区别于终结点地址(相对地址) 而最终地址是由(基址+终结点地址组成)
注释4:什么是终结点
终结点有三部分组成简称叫做ABC,A表示Address,B表示Binding,C表示Contract。&
Address:终结点地址,就是相对地址,比喻现在终结点地址是&admin&,那么地址就会是http://localhost:8080/admin。当然也可以默认&&,根据自己实际情况作出决定
Binding:指定如何与终结点进行通信 包括这三种模式&传输协议(比喻TCP或HTTP) 消息文本(比喻2进制) 安全模式(SSL 或 SOAP )
Contract:就是我们自己定下的契约(就是接口)
ServiceMetadataBehavior mdBehavior = new ServiceMetadataBehavior()
HttpGetEnabled = true
这句话的目的:为了能让客户端通过添加服务能找到这个服务所以对主机进行描述(没有这句话无法通过基址找到服务端)
第五步:运行服务端,客户端寻找基址
客户端运行结果:
这样第一篇关于wcf就介绍完毕了。
优质网站模板2017年2月 总版技术专家分月排行榜第三
2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2017年2月 总版技术专家分月排行榜第三
2017年5月 .NET技术大版内专家分月排行榜第一2017年4月 .NET技术大版内专家分月排行榜第一2017年3月 .NET技术大版内专家分月排行榜第一2017年2月 .NET技术大版内专家分月排行榜第一2016年10月 .NET技术大版内专家分月排行榜第一2016年8月 .NET技术大版内专家分月排行榜第一2016年7月 .NET技术大版内专家分月排行榜第一
2013年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

 

随机推荐