Hello Indigo

Windows Communication Foundation (WCF),formerly code-named “Indigo,” is Microsoft’s platform for Service-Oriented Architecture (SOA),designed for building distributed service-oriented applications for the enterprise and the web.
WCF was released with Windows Vista as part of the .NET Framework 3.0 (.NET 3.0) which includes four core technologies:
Windows Presentation Foundation (WPF),Windows Workflow Foundation (WF),Windows Communication Foundation (WCF),and Windows CardSpace.
As Figure 1-1 illustrates,.NET 3.0 relies on the .NET Framework 2.0 (.NET 2.0) and is supported on Windows XP,Windows Vista,Windows Server 2003, and Windows Server 2008 platforms.

Figure 1-1 Platform support for WCF

 

Why release yet another technology for building distributed applications? Unlike its predecessors,WCF is a truly service-oriented,loosely coupled,and interoperable platform.
It simplifies service-oriented system design by removing the design dependencies that traditionally exist between how you access business functionality and the actual implementation of that business functionality.
WCF promotes loose coupling not only between services and the functionality they expose,but also for choice of protocol,message encoding formats,and hosting environment.
For example,services can be accessed over a variety of supported protocols,including named pipes,TCP,HTTP,and MSMQ.
WCF also supports all of the core and emerging web service standards,which makes it a highly interoperable platform.
Messages can always be represented in a format consistent with a set of well-adopted standards to communicate with other platforms.

Besides these modern characteristics,what’s even more interesting is that you can now choose a single communication stack to gain access to the system services necessary to build a distributed system.
WCF unifies the disparate programming paradigms you have previously used on the Windows platform to achieve similar goals—namely .NET Remoting,ASP.NET Web Services (ASMX),and Enterprise Services.
WCF provides all of the plumbing for security,transactions,and reliable messaging over any protocol.
Only Enterprise Services came close to providing all of these features in a single stack,but your component design was coupled to the technology and limited to TCP communication (thus, not interoperable).

This chapter will be your introduction to the programming model of WCF.
I’ll start by reviewing the principles of a Service Oriented Architecture and how WCF supports those principles.
I’ll also describe some practical deployment scenarios for WCF in distributed enterprise systems and
then summarize some of the fundamental WCF concepts that will be discussed first in this chapter and then elaborated on throughout this book.

After introducing core WCF concepts,I’ll walk you through labs that exercise certain techniques and features.
Instead of boring you with a bunch of “Hello World”examples,I plan to kick things up just a notch in this introductory chapter by enforcing good practices from the start while I teach you core concepts.
Each of the labs you complete in this chapter will become successively more complex,and each will expose a new layer of detail.
After each lab I will explain the relevant techniques and features you applied,discuss their relevance,and comment on recommended practices.

The labs in this chapter will cover the following topics:
• Manually creating and consuming WCF services without the help of Visual Studio templates and related tools. This will provide you with a picture of the bare necessities you need to create,host,and consume a WCF service so that you
understand the underlying programming model.
• Creating WCF services using various Visual Studio project and service templates, leveraging configuration tools, and generating code to consume services.
• Approaches to assembly allocation and service hosting over various protocols.
• The importance of service metadata for publishing and consuming services.

By the end of this chapter you will be familiar with many core concepts including service contracts,endpoints,bindings,behaviors,hosting,metadata,channels,and proxies.
Of course,throughout this book,the same concepts as well as additional ones will be discussed at length as you dive more deeply into specific WCF features.

转载于:https://www.cnblogs.com/chucklu/p/4643987.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java apk安装路径_android apk安装过程源码解析

前言:前一篇博客分析了一下PackageManagerService是如何解析apk的以及我们如何解析未安装apk中的androidManifest.xml文件。解析完肯定要安装的,索性写一篇关于android系统是如何安装我们apk的流程分析。不过这里仅仅只分析java层面的代码,C层…

x3-02 java_Day13 -- Java流程控制02

1. 顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。是任何一个算法都离不开的一种基本算法结构。2. 选择结构if单选择结构if双选择结构if多选择结构嵌套的if结构switch多选择结构1) if单选择结构语法:if(布尔…

css3 多列布局使用

css3的出现,解决了不少前端的问题,比如动画,圆角等; 这里总结一下css3 的多列布局; w3c上给出了很多属性; 我们一般用到column-count、column-gap、column-width这三个属性, 其中column-count和…

SAP RFC 获取BDC 消息文本的实现

SAP RFC 获取BDC 消息文本的实现 最近做RFC时 ,有调用一个BDC 用于 信息录入 调试程序时,单纯的处理正确、处理异常不能满足,希望获取具体的类似GUI上的提示消息 消息文本该如何获取呢? messtab内容: 初步猜测 可能是…

java script数据类型_javascript 六种数据类型

js的数据类型和常见隐式转化逻辑。一、六种数据类型原始类型(基本类型):按值访问,可以操作保存在变量中实际的值。原始类型汇总中null和undefined比较特殊。引用类型:引用类型的值是保存在内存中的对象。* 与其他语言不同的是,Jav…

RatingBar的自定义

RatingBar的实现其实是很简单的&#xff0c;只要在xml布局文件中写就行了 范例&#xff1a; 在主布局文件中&#xff0c;只需要写<RatingBar/>即可 main.xml 1 <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"2 xmlns:tools&q…

python中什么最重要_Python 3中被忽视了的三大重要功能

全文共2201字&#xff0c;预计学习时长6分钟图源&#xff1a;unsplashPython 3上线已有一段时间&#xff0c;大多数开发人员(特别是那些首次编程的人)已经在使用它了。不过&#xff0c;你确定已经对Python 3研究透彻了吗&#xff1f;事实上&#xff0c;其中还有许多新功能对大多…

java 2分代复制垃圾回收_Java对象的后事处理——垃圾回收(二)

1 先谈Finalize()finalize()能做的所有工作&#xff0c;使用try-finally或者其他方式都可以做得更好、更及时&#xff0c;所以笔者建议大家完全可以忘掉Java语言中有这个方法的存在。——《深入理解JVM》finalize()方法确实可以实现一次对象的自救&#xff0c;但是其不确定性和…

前端学习(1555):ng-app指令

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ng-app指令</title> </head> <!-- 需…

前端学习(1556):ng-blnd指令

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ng-app指令</title> </head> <!-- 需…

Java虚拟机学习 - 体系结构 内存模型(转载)

一&#xff1a;Java技术体系模块图二&#xff1a;JVM内存区域模型1.方法区 也称"永久代” 、“非堆”&#xff0c; 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB&#xff0c;最大值为64MB&#xff0c;可以通过-XX:PermSiz…

前端学习(1558):ng-repeat命令

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ng-app指令</title> </head> <!-- 需…

前端学习(1559):ng-classt隔行变色

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ng-app指令</title><style>.red {color:…

在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

近几年大数据越来越火热。由于工作需要以及个人兴趣&#xff0c;最近开始学习大数据相关技术。学习过程中的一些经验教训希望能通过博文沉淀下来&#xff0c;与网友分享讨论&#xff0c;作为个人备忘。 第一篇&#xff0c;在win7虚拟机下搭建hadoop2.6.0伪分布式环境。 1. 所需…

前端学习(1560):ng-class颜色切换

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>ng-app指令</title><style>.red {backgr…