What is WCF?
In a nutshell, WCF is a framework for building and hosting services. WCF services make use of standard technologies to offer a wide range of cross-platform security, transaction, and communication capabilities.
Before WCF came along, .NET developers who built distributed applications had to choose between communication schemes such as ASP.NET web services, .NET remoting, and Message Queuing (MSMQ). This choice carried with it implications for how the component was designed, developed, deployed, and consumed. If you went with ASP.NET web services, you were committing to XML message formats and were handcuffed by limitations of the HTTP transport protocol. If you chose .NET remoting, you were able to process messages in an efficient fashion, but have immediately limited yourself to .NET-only service clients. MSMQ is wonderful for disconnected applications, but in choosing it you've eliminated any chance at having a synchronous, request-response conversation with a software client.
The goal of WCF is to unify these many technologies and provide a single transport-neutral development paradigm with common aspects for security, transactions, and exception handling. The service is implemented independent of the communication protocol strategy. This is a fairly revolutionary concept that introduces immense flexibility to service designers. Instead of building services with tightly coupled and rigid endpoints that do not welcome change, we can design flexible services that are capable of supporting a wide range of current and future consumers.
The service endpoint is king, and endpoints in WCF are defined using the easy-to-remember ABC acronym.
- The letter A stands for addressing, which refers to the actual URL of the service
- The letter B stands for binding, which describes how we communicate with the service
- Finally, the letter C stands for contract, which defines the operations and data elements that this service exposes
Let's look at each of these in detail.
- JavaScript全程指南
- C語(yǔ)言程序設(shè)計(jì)案例教程(第2版)
- Android NDK Beginner’s Guide
- PHP 7+MySQL 8動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)從入門(mén)到精通(視頻教學(xué)版)
- 微信小程序全棧開(kāi)發(fā)技術(shù)與實(shí)戰(zhàn)(微課版)
- 利用Python進(jìn)行數(shù)據(jù)分析
- Python深度學(xué)習(xí):模型、方法與實(shí)現(xiàn)
- PHP+MySQL+Dreamweaver動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)從入門(mén)到精通(第3版)
- iOS自動(dòng)化測(cè)試實(shí)戰(zhàn):基于Appium、Python與Pytest
- JavaScript程序設(shè)計(jì)(第2版)
- Kotlin Programming By Example
- Appcelerator Titanium:Patterns and Best Practices
- Node.js應(yīng)用開(kāi)發(fā)
- C語(yǔ)言程序設(shè)計(jì)教程
- Mastering Data Analysis with R