WCF Services
WCF services are the new distributed boundary in an enterprise application—with an emphasis on SOA.
In the past,you had to deliberate between Enterprise Services,.NET Remoting,or ASMX to distribute and reuse functionality,
WCF provides you with a single programming model to satisfy the needs of any equivalent distribution scenario.
With WCF,you can cross process,machine,and corporate boundaries over any number of protocols; you can expose interoperable web services; and you can support queued messaging scenarios.
I’ll take you through a few examples where WCF is deployed in lieu of earlier technologies.

Figure 1-11 illustrates an intranet scenario where a WCF service is invoked within an application domain over TCP protocol.
In this scenario,the client needed to reach remote services and authenticate with Windows credentials,and didn’t require interoperability.
As such,the service is accessible over TCP using binary serialization for better performance,and supports traditional Windows authentication using NTLM or Kerberos.
NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议
In the past,this may have been achieved using Enterprise Services (or possibly .NET Remoting although security features are not built-in).

Figure 1-11 Deploying WCF services on the intranet

Figure 1-12 illustrates an Internet scenario where multiple web services are exposed—one supporting legacy protocols (Basic Profile),another supporting more recent protocols (WS*).
With WCF,a single service can be defined and exposed over multiple endpoints to support this scenario.

Figure 1-12 WCF services exposed on the intranet

In Figure 1-13 you can see WCF implemented at several tiers—behind the firewall to support an ASP.NET application,and outside the firewall for smart client applications.
Again,the same service can be exposed over multiple protocols without duplicating effort or switching technologies.

Figure 1-13. WCF services deployed at several tiers over multiple protocols

Throughout this book,I’ll be exploring these and other scenarios while discussing specific features of the WCF platform.

Learing WCF Chapter1 WCF Services的更多相关文章

  1. Learning WCF Chapter1 Generating a Service and Client Proxy

    In the previous lab,you created a service and client from scratch without leveraging the tools avail ...

  2. 跟我一起学WCF(13)——WCF系列总结

    引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...

  3. Learing WCF Chapter1 Fundamental WCF Concepts

    At its core,WCF is a development platform for service-oriented applications. As I mentioned earlier, ...

  4. Learning WCF Chapter1 Hosting a Service in IIS

    How messages reach a service endpoint is a matter of protocols and hosting. IIS can host services ov ...

  5. Learning WCF Chapter1 Creating a New Service from Scratch

    You’re about to be introduced to the WCF service. This lab isn’t your typical “Hello World”—it’s “He ...

  6. Learning WCF Chapter1 Exposing Multiple Service Endpoints

    So far in this chapter,I have shown you different ways to create services,how to expose a service en ...

  7. Learning WCF Chapter1 Summary

    SummaryThis chapter covered a lot of ground,beginning with a look at the purpose of WCF,the problems ...

  8. 重温WCF之WCF中可靠性会话(十四)

    1.WCF中可靠性会话在绑定层保证消息只会被传输一次,并且保证消息之间的顺序.当使用TCP(Transmission Control Protocol,传输控制协议)通信时,协议本身保证了可靠性.然而 ...

  9. 构建一个简单的WCF应用——WCF学习笔记(1)

    通过<WCF全面解析>来知识分享....感谢蒋金楠老师@Artech 一.VS中构建解决方案   Client一个控制台程序模拟的客户端,引用Service.ServiceModel.dl ...

随机推荐

  1. PHP session 失效不传递的解决办法

    PHP中,session不能传递到下一个页面去,一般有两种情况: 我们先写个php文件:<?=phpinfo()?>, 传到服务器去看看服务器的参数配置. 转到session部分,看到se ...

  2. c++ 学习之const专题之const成员函数

    一些成员函数改变对象,一些成员函数不改变对象. 例如: int Point::GetY() { return yVal; } 这个函数被调用时,不改变Point对象,而下面的函数改变Point对象: ...

  3. JavaScript高级程序设计(一):JavaScript简介

    一.JavaScript实现 1.一个完整的JavaScript包含三个部分组成: 1)ECMAScript 核心 2)DOM文档对象模型 3)BOM浏览器对象模型 2.文档对象模型(DOM) 文档对 ...

  4. oc for in 的时候nsscanner: nil string argument

    今天偶然发现,oc for in 动态的给一数组加东西,然后嵌套for in 会报nsscanner: nil string argument. 换成for循环就好了,暂时还没找到原因

  5. swift-01-简述swift与OC区别

    swift语言 Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序[1].在设计Swift时.就有意和Objective-C共存,Objective-C是A ...

  6. struts2初印象

    第一次写这么正式的文章,如果写的不好的地方,请指出. 今天玩了一下struts2,不过貌似是我被他玩了.简要笔记如下: 一.配置struts2(在eclipse Helios版本下) (1)先创建一个 ...

  7. ASP.NET获取服务器文件的物理路径

    如下: string fullpath = context.Server.MapPath("hello.htm"); //得到hello.htm的全路径 string conten ...

  8. 支付宝开发(一)-认识php openssl RSA 非对称加密实现

    获取支付宝公钥 本地服务器生成私钥和公钥 运用php中openssl相关函数加密解密验证身份 以下是php中openssl相关函数实现的验证,来自php官方demo //需要签名的数据 $data = ...

  9. svn命令操作

    非超级用户:sudo 命令 svn info 查看svn地址 svn co 地址 检出仓库

  10. 通过表名显示数据库中该表的表头和内容(mysql扩展库操作)

    编写一个函数,接收一个表名,然后把表的表头和内容显示在网页 <?php function readTab($tableName){ $conn=mysql_connect("local ...