Skip to content
Home » Web Api And Wcf | Wcf And Asp.Net Web Api

Web Api And Wcf | Wcf And Asp.Net Web Api

WCF vs Web API | ASP.NET WebAPI Tutorial

Sự khác nhau giữa Web Service, WCF, WCF REST, Web API

Giới thiệu

Hiện nay trong kỷ nguyên hậu PC, smartphone và tablet lên ngôi, nhu cầu xây dựng các ứng dụng mobile trên Windows Phone, iOS, Android đồng bộ dữ liệu đến server theo mô hình điện toán đám mây đang trở nên rất hot. Nếu quyết định xây dựng phía server sử dụng .NET Framework (với phiên bản mới nhất 4.5.3) thì lập trình viên có thể tạo ra các HTTP service bằng rất nhiều công nghệ khác nhau như là:- Web service (ASMX)- WCF service- WCF REST service- Web API serviceĐiều này rất tốt vì nó cho phép lập trình viên có nhiều lựa chọn hơn trong việc xây dựng các HTTP service dựa trên nền .NET nhưng với những người mới tiếp cận .NET Framework sẽ rối không biết cần phải sử dụng công nghệ nào để bắt đầu. Trong bài viết này chúng ta sẽ cùng điểm qua các công nghệ này để thấy được sự khác nhau giữa chúng từ đó có một cái nhìn toàn diện nhất về các công nghệ service trên .NET đồng thời quyết định được công nghệ nào là phù hợp nhất với nhu cầu của mình.

Ưu điểm:

– Bổ sung hỗ trợ RESTful service với định dạng dữ liệu JSON nhẹ hơn SOAP với dữ liệu XML rất nhiều- Cho phép cấu hình tham số WebGet qua URI sử dụng UriTemplate

Nhược điểm:

– Chưa hoàn toàn phải là RESTful service, mới chỉ hỗ trợ mặc định GET, POST- Cấu hình khó nhớ (cố hữu của WCF)

Web API (.NET 4 trở lên)

– Đây là một framework mới giúp cho việc xây dựng các HTTP service rất đơn giản và nhanh chóng- Open Source và có thể được sử dụng bởi bất kì client nào hỗ trợ XML, JSON- Hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content formats- Có thể host trong ứng dụng hoặc trên IIS- Kiến trúc lý tưởng cho các thiết bị có băng thông giới hạn như smartphone, tablet- Định dạng dữ liệu có thể là JSON, XML hoặc một kiểu dữ liệu bất kỳ

Ưu điểm:

– Cấu hình hết sức đơn giản khi so với WCF- Performance cao- Hỗ trợ RESTful đầy đủ- Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder, IoC container, dependency injection, unit test- Open Source

Nhược điểm:

– Còn rất mới nên chưa có nhiều đánh giá về nhược điểm của Web API

Vậy tôi nên lựa chọn framework nào để phát triển HTTP Service?

Câu trả lời sẽ tùy thuộc vào yêu cầu công việc cụ thể của bạn như thế nào?Web Service:- Lựa chọn khi bạn chỉ cần xây dựng một service đơn giảnWCF là lựa chọn số một khi xây dựng:- Service cần hỗ trợ những ngữ cảnh đặc biệt như: message queue, duplex communication…- Service sử dụng những kênh truyền dữ liệu ở tầng thấp cho nhanh như: TCP, Named Pipes, UDP…WCF Rest, Web API được sử dụng khi xây dựng:- Service RESTful hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content formats- Service cung cấp dữ liệu cho nhiều client khác nhau với băng thông giới hạn như: browser, mobile, tablet…

Kết luận

Qua bài viết này chúng ta đã có một cái nhìn tổng quan hơn về 4 công nghệ hỗ trợ tạo HTTP service trên nền tảng .NET: Web Service, WCF, WCF REST, Web API. Với sự phát triển vũ bão của các thiết bị smartphone, tablet như hiện nay các công nghệ WCF REST và mới đây nhất là WEB API đang nổi lên là những công nghệ lý tưởng nhất cho việc xây dựng các ứng dụng điện toán đám mây. Việc nắm bắt được các công nghệ này là nhu cầu cấp thiết của các lập trình viên vì vậy trong các bài viết sau chúng ta sẽ cùng tìm hiểu chi tiết về cách tạo và sử dụng các service này.

BTV.Trần Thị Thu HuyềnPhòng Truyền Thông IMicroSoft Việt NamHotline: 0916 878 224Email: [email protected]

Bạn đang muốn tìm kiếm 1 công việc với mức thu nhập cao.✅ Hoặc là bạn đang muốn chuyển đổi công việc mà chưa biết theo học ngành nghề gì cho tốt.✅ Giới thiệu với bạn Chương trình đào tạo nhân sự dài hạn trong 12 tháng với những điều đặc biệt mà chỉ có tại IMIC và đây cũng chính là sự lựa chọn phù hợp nhất dành cho bạn:👉 Thứ nhất: Học viên được đào tạo bài bản kỹ năng, kiến thức chuyên môn lý thuyết, thực hành, thực chiến nhiều dự án và chia sẻ những kinh nghiệm thực tế từ Chuyên gia có nhiều năm kinh nghiệm dự án cũng như tâm huyết truyền nghề.👉 Thứ hai: Được ký hợp đồng cam kết chất lượng đào tạo cũng như mức lương sau tốt nghiệp và đi làm tại các đối tác tuyển dụng của IMIC. Trả lại học phí nếu không đúng những gì đã ký kết.👉 Thứ ba: Cam kết hỗ trợ giới thiệu công việc sang đối tác tuyển dụng trong vòng 10 năm liên tục.👉 Thứ tư: Được hỗ trợ tài chính với mức lãi suất 0 đồng qua ngân hàng VIB Bank.👉 Có 4 Chương trình đào tạo nhân sự dài hạn dành cho bạn lựa chọn theo học. Gồm có:1) Data Scientist full-stack2) Embedded System & IoT development full-stack3) Game development full-stack4) Web development full-stack✅ Cảm ơn bạn đã dành thời gian lắng nghe những chia sẻ của mình. Và tuyệt vời hơn nữa nếu IMIC được góp phần vào sự thành công của bạn.✅ Hãy liên hệ ngay với Phòng tư vấn tuyển sinh để được hỗ trợ về thủ tục nhập học.✅ Chúc bạn luôn có nhiều sức khỏe và thành công!

Difference between WCF and Web API

WCF Rest

To use WCF as WCF Rest service you have to enable webHttpBindings. It supports HTTP GET and POST verbs by [WebGet] and [WebInvoke] attributes respectively. To enable other HTTP verbs you have to do some configuration in IIS to accept requests of that particular verb on .svc files. Passing data through parameters using a WebGet needs configuration. The UriTemplate must be specified. It supports XML, JSON, and ATOM data formats.

WCF vs Web API | ASP.NET WebAPI Tutorial
WCF vs Web API | ASP.NET WebAPI Tutorial

Difference between WCF and Web API and WCF REST and Web Service

Feature WCF Web API WCF REST Web Services (ASMX)
Purpose General-purpose service framework Building HTTP services (RESTful) RESTful services over WCF Building SOAP-based services
Communication SOAP, REST, one-way, duplex RESTful (HTTP) RESTful (HTTP) SOAP (HTTP)
Hosting IIS, self-hosting, WAS IIS, self-hosting IIS, self-hosting, WAS IIS
Programming model Contract-based, attributes MVC-based Contract-based, attributes Contract-based
Data format XML, JSON, binary JSON, XML, and other formats JSON, XML XML
Security WS-Security, message security HTTP-based security HTTP-based security WS-Security
Extensibility Custom bindings, behaviors Middleware, filters Custom bindings, behaviors Limited
Ideal for Enterprise-level services, interoperability Modern web, mobile, and cloud apps RESTful services within WCF Legacy systems, interoperability
Summary

Web Services (SOAP), WCF (flexible but complex), WCF REST (limited REST support), and Web API (modern, RESTful, open-source) are all alternatives for implementing HTTP services in the .NET framework. Web API is appropriate for modern programs, WCF/REST for certain circumstances, and Web Services for legacy systems. Each choice has advantages and disadvantages, so choose cautiously based on your requirements.

WCF

It is also based on SOAP and returns data in XML form. It is the evolution of the web service(ASMX) and supports various protocols like TCP, HTTP, HTTPS, Named Pipes, and MSMQ. The main issue with WCF is its tedious and extensive configuration. It is not open source but can be consumed by any client that understands XML. It can be hosted within the application on IIS or using Windows service.

WCF vs Web API|Difference between wcf and web api|wcf and web api difference|Web api vs WCF
WCF vs Web API|Difference between wcf and web api|wcf and web api difference|Web api vs WCF

Why use WCF?

Here, are pros/benefits of using WCF:

  • WCF is an ideal option if you are planning to use .NET Framework 3.5.
  • WCF support multiple protocols such as HTTP, TCP, Named pipe.
  • WCF service is useful if you want to build service with standards like Transactions Messaging security and Reliable Message Security.
  • You can use Request-Reply, One Way, and Duplex message exchange patterns with WCF.

KEY DIFFERENCE

  • WCF offers request-reply, one-way, or duplex while Web API is by default request-reply only.
  • WCF is used for developing SOAP-based services whereas Web API is used for both SOAP-based and RESTful services.
  • WCF does not offer any support for MVC features whereas Web API supports MVC features.
  • WCF supports HTTP, UDP, and custom transport protocol whereas Web API supports only HTTP protocol.
  • WCF offers Text, MTOM, and Binary Encoding support whereas Web API supports the UTF-8 encoding format.
  • WCF supports message queues, message security, duplex communication, transaction whereas Web API doesn’t support.
  • WCF stands for Windows Communication Foundation whereas API stands for Application Program Interface.
WCF vs WebApi
WCF vs WebApi

The deciding factor for WCFWeb API

Following is a quick checklist to help to determine whether to use WCF or Web API

Scenario WCF 4.5 ASP.NET Web API
Requires support for scenarios like Message queues, end to end message security, duplex communication, distributed transactions, etc. Select Do NOT Select
When you already have existing working WCF services and Wants to add HTTP support additionally. Select Do NOT Select
One code base to provide support both SOAP and RESTful endpoints. Select Do NOT Select
Wants to create a resource-oriented service over HTTP. Do NOT Select Select
Your project is an MVC application and wants some functionality over HTTP. Do NOT Select Select
You want to build only an HTTP / RESTful services Do NOT Select Select

18

feb.

Difference between WCF and Web API and WCF REST and Web Service

Why used Web API?

Here, are pros/benefits of using web API:

  • Web API provides supports for convention-based CRUD Actions since it works with HTTP verbs ( GET, PUT, POST, and DELETE)
  • It is easy to define, expose, and consume in a REST-ful way.
  • ASP.Net Web API allows you to showcase your data and services to various devices.
  • Web API is open source, so it is an ideal option for creating RESTful services over the .NET platform.
  • Allows you scalable, decoupled development of a Web Service which can be shared and used by other developers to access web services.
  • It is also helpful to build simple, non-SOAP-based HTTP Services.
Difference Between REST API vs Web API vs SOAP API Explained
Difference Between REST API vs Web API vs SOAP API Explained

Choosing which technology to use

The following table describes the major features of each technology.

WCF ASP.NET Web API
Enables building services that support multiple transport protocols (HTTP, TCP, UDP, and custom transports) and allows switching between them. HTTP only. First-class programming model for HTTP. More suitable for access from various browsers, mobile devices etc enabling wide reach.
Enables building services that support multiple encodings (Text, MTOM, and Binary) of the same message type and allows switching between them. Enables building Web APIs that support wide variety of media types including XML, JSON etc.
Supports building services with WS-* standards like Reliable Messaging, Transactions, Message Security. Uses basic protocol and formats such as HTTP, WebSockets, SSL, JSON, and XML. There is no support for higher level protocols such as Reliable Messaging or Transactions.
Supports Request-Reply, One Way, and Duplex message exchange patterns. HTTP is request/response but additional patterns can be supported through SignalR and WebSockets integration.
WCF SOAP services can be described in WSDL allowing automated tools to generate client proxies even for services with complex schemas. There is a variety of ways to describe a Web API ranging from auto-generated HTML help page describing snippets to structured metadata for OData integrated APIs.
Ships with the .NET Framework. Ships with .NET Framework but is open-source and is also available out-of-band as independent download.

Use WCF to create reliable, secure web services that are accessible over a variety of transports. Use ASP.NET Web API to create HTTP-based services that are accessible from a wide variety of clients. Use ASP.NET Web API if you are creating and designing new REST-style services. Although WCF provides some support for writing REST-style services, the support for REST in ASP.NET Web API is more complete and all future REST feature improvements will be made in ASP.NET Web API. If you have an existing WCF service and you want to expose additional REST endpoints, use WCF and the WebHttpBinding.

Difference between WCF and Web API

Windows Communication Foundation (WCF):

WCF is used to create a distributed and interoperable Applications. It provides a framework which is used for building service-oriented-connected applications for the transmission of the data as an asynchronous, from one service-point to other service-point. Previously known as Indigo and is a framework for building, configuring, and deploying network-distributed services.

Web Application Programming Interface (Web API):

To create web applications ASP.NET provide the 3 development styles which are ASP.NET Web Pages, ASP.NET MVC, Web Forms.It is like a webservice or WCF service but the exception is that it only supports HTTP protocol.

Difference between WCF and Web API:

SR.NO. WCF WEB API
WCF ships with .NET framework to create secure, reliable, and high profile development solutions. While, WEB API is a open source and also ships with .NET framework.
WCF offers supports for limited RESTFUL service. WEB API is ideal for building RESTFUL services.
WCF used the web.config and attributes to configure a HttpConfiguration class Web API can be configured using web.config service.
It depend on the attributes based programming model. WEB API maps http verbs to methods
WCF does not provide any support for MVC features like controllers, routing, filter, auction results, etc. ASP.NET Web API supports MVC features like routing, controllers, results, filter, action, etc.
It is not open source software. It is shipped with.Net framework.It is also available as an independent download.
It rely on IIS hosting, Self-hosting & works activation services. It rely on Self-hosting & IIS hosting.

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

Last Updated :
13 Feb, 2020

Like Article

Save Article

Share your thoughts in the comments

Please Login to comment…

In the fast-paced web development environment, there exist several frameworks and technologies that allow programmers to create HTTP services such as WCF and Web API. However, deciding which platform to utilize in your project can be daunting, considering that many of them often overlap in terms of approach and functionality. In this write-up, we will take an in-depth look at the key features and differences between WCF and Web API to help you choose the technology that aligns with your development needs.

What is Web API?

A Web API is basically an open-source platform for building RESTful services over the .NET Framework. It is an authentic type of interface for creating HTTP services that can be consumed by a wide range of clients, including mobile devices, browsers, tablets, and iPhones. As the name suggests, a Web API is an over the internet API that is accessible through HTTP protocol. Initially, Web APIs were known as Web services, but today, the use of the latter indicates that the API is RESTful, instead of following the SOAP standard.

Web API supports the MVC features such as controllers, routing, filter, action results, IOC container, model binders, and dependency injection, among others. It also utilizes the full features of HTTP such as caching, URLs, request/response headers, versioning, and various content formats.

Hiệp sĩ an ninh mạng dùng gì trên mạng? - Hiếu PC |  Have a Sip EP59
Hiệp sĩ an ninh mạng dùng gì trên mạng? – Hiếu PC |  Have a Sip EP59

Choosing which technology to use

The following table describes the major features of each technology.

WCF ASP.NET Web API
Enables building services that support multiple transport protocols (HTTP, TCP, UDP, and custom transports) and allows switching between them. HTTP only. First-class programming model for HTTP. More suitable for access from various browsers, mobile devices etc enabling wide reach.
Enables building services that support multiple encodings (Text, MTOM, and Binary) of the same message type and allows switching between them. Enables building Web APIs that support wide variety of media types including XML, JSON etc.
Supports building services with WS-* standards like Reliable Messaging, Transactions, Message Security. Uses basic protocol and formats such as HTTP, WebSockets, SSL, JSON, and XML. There is no support for higher level protocols such as Reliable Messaging or Transactions.
Supports Request-Reply, One Way, and Duplex message exchange patterns. HTTP is request/response but additional patterns can be supported through SignalR and WebSockets integration.
WCF SOAP services can be described in WSDL allowing automated tools to generate client proxies even for services with complex schemas. There is a variety of ways to describe a Web API ranging from auto-generated HTML help page describing snippets to structured metadata for OData integrated APIs.
Ships with the .NET Framework. Ships with .NET Framework but is open-source and is also available out-of-band as independent download.

Use WCF to create reliable, secure web services that are accessible over a variety of transports. Use ASP.NET Web API to create HTTP-based services that are accessible from a wide variety of clients. Use ASP.NET Web API if you are creating and designing new REST-style services. Although WCF provides some support for writing REST-style services, the support for REST in ASP.NET Web API is more complete and all future REST feature improvements will be made in ASP.NET Web API. If you have an existing WCF service and you want to expose additional REST endpoints, use WCF and the WebHttpBinding.

What is Web API?

ASP.NET Web API is a framework which allows you to build HTTP services for browsers and mobile devices. It is an ideal platform for developing RESTful applications on the ASP .NET Framework.

The ASP.NET Web API is an extensible framework for building HTTP based services that can be accessed in different applications on different platforms such a web, windows, mobile devices, etc.

[WebAPI-NET5] #1 - Tạo API đầu tiên
[WebAPI-NET5] #1 – Tạo API đầu tiên

Summary: Web API vs WCF

Feature Web API WCF
Protocol or architecture Based on the SOAP-based protocol Based on REST architecture
State management Stateless Stateless with per call
Content format It supports any media format including XML, JSON and many others Supports SOAP-based data formats + XML
Caching method Built in to prefer application control The application handles the cache.
Configuration Supports MVC features It supports extensive configuration
Proxy support Doesn’t support client proxy initialization It supports client proxy initialization like PerCall, Single or per session based on the requirement.

Introduction

This article describes the differences between the Web API and Windows Communication Foundation (WCF). And also describes how to choose between WCF and Web API.

What is the ASP. NET Web API

The ASP. NET Web API is a framework that uses the HTTP services and makes it easy to provide the response to the client request. The response depends on the request of the clients. The Web API builds the HTTP services, and handles the request using the HTTP protocols. The request may be GET, POST, DELETE, PUT. We can also say that the ASP. NET Web API:

  • Is an HTTP service.
  • Is designed for reaching the broad range of clients.
  • Uses the HTTP application.

We use the ASP. NET Web API for creating the RESTtful (Representational State Transfer) services.

The following are some important points of the ASP. NET Web API:

  • The ASP. NET Web API supports the MVC application features that are controller, media formatters, routing etcetera.
  • It is a platform for creating the REST services.
  • It is a framework for creating the HTTP services.
  • Responses can be formatted by the APIs MediaTypeFormatter into the Java Script Object Notation (JSON) and Extencible Markup Language (XML) formats.

Architecture of Web API

What the Windows Communication Foundation (WCF) is

WCF is also a framework but it creates a service-oriented application. It can send the data asynchronously from one endpoint service to another service. The endpoint service can be the part of the continuous available service that is hosted by the IIS. There are some important points of WCF:

  • WCF sends the data asynchronously.
  • It is a secure service to process the business transaction.
  • The message that is send can be a single character or a word sent as XML.
  • It includes the chat service that allows the two people for exchanging the data.

Architecture of WCF.

To choose between Web API and WCF:

  • You can choose the Web API when you want to create the service that uses all the HTTP features, such as request and response header, URIs, versioning etcetera.
  • You choose the Web API if you want to expose the HTTP services to a broad range of clients. These includes the mobile , iPhone and browsers.

Now define the reason of choosing the WCF:

  • You can choose the WCF if you want to create the service that supports one-way messaging, message queues, duplex communication etcetera.
  • You can choose the WCF if you want to create a service that uses the fast transport channel, such as TCP, UDP, Named pipe etcetera.

Take our free skill tests to evaluate your skill!

In less than 5 minutes, with our skill test, you can identify your knowledge gaps and strengths.

WCF and ASP.NET Web API

WCF is Microsoft’s unified programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. This topic presents some guidance to help you decide which technology will best meet your needs.

What is a Web API?
What is a Web API?

Giới thiệu

Hiện nay trong kỷ nguyên hậu PC, smartphone và tablet lên ngôi, nhu cầu xây dựng các ứng dụng mobile trên Windows Phone, iOS, Android đồng bộ dữ liệu đến server theo mô hình điện toán đám mây đang trở nên rất hot. Nếu quyết định xây dựng phía server sử dụng .NET Framework (với phiên bản mới nhất 4.5.3) thì lập trình viên có thể tạo ra các HTTP service bằng rất nhiều công nghệ khác nhau như là:

  • Web service (ASMX)
  • WCF service
  • WCF REST service
  • Web API service

Điều này rất tốt vì nó cho phép lập trình viên có nhiều lựa chọn hơn trong việc xây dựng các HTTP service dựa trên nền .NET nhưng với những người mới tiếp cận .NET Framework sẽ rối không biết cần phải sử dụng công nghệ nào để bắt đầu. Trong bài viết này chúng ta sẽ cùng điểm qua các công nghệ này để thấy được sự khác nhau giữa chúng từ đó có một cái nhìn toàn diện nhất về các công nghệ service trên .NET đồng thời quyết định được công nghệ nào là phù hợp nhất với nhu cầu của mình.

Web Service

  1. Đây là công nghệ cũ nhất của .NET Framework
  2. Nó dựa trênSOAP (Simple Object Access protocol)dữ liệu trả về dạng XML
  3. Chỉ hỗ trợ giao thức HTTP
  4. Không phải Open Source nhưng có thể sử dụng được với bất cứ client nào hỗ trợ XML
  5. Chỉ có thể host trên IIS

Ưu điểm:

  • Code và Test đơn giản

Nhược điểm:

  • Chỉ hỗ trợ giao thức SOAP để truyền nhận dữ liệu nên performance không cao
  • Không thể tạo ra service dạng REST hỗ trợ định dạng dữ liệu JSON

WCF (.NET 3.0 trở lên)

  1. Cũng dựa trên SOAP và trả về dữ liệu dạng XML
  2. Phát triển dựa trên Web service và hỗ trợ thêm rất nhiều giao thức khác nhau như: TCP, HTTP, HTTPS, Named Pipes, MSMQ.
  3. Giống Web service không phải Open Source nhưng có thể sử dụng bởi các client hỗ trợ XML
  4. Có thể host được trong ứng dụng, trên IIS hoặc Windows Service

Ưu điểm:

  • Hỗ trợ nhiều giao thức với nhiều kiểu binding khác nhau đặc biệt là HTTPS
  • Hỗ trợ nhiều định dạng dữ liệu XML, ATOM…

Nhược điểm:

  • Cấu hình rất phức tạp và rối rắm, chắc chắn các lập trình viên mới dùng không thể cấu hình được nếu không sử dụng Configuration Tool & Google
  • Kiến trúc rất phức tạp và cồng kềnh

WCF REST (.NET 3.5 trở lên)

  1. Là bản nâng cấp đáng giá của WCF với việc trên .NET 3.5 Microsoft bổ sung webHttpBinding để hỗ trợ RESTful service
  2. Hỗ trợ 2 HTTP verb GET, POST để truyền nhận dữ liệu với 2 thuộc tính tương ứng là WebGet và WebInvoke
  3. Muốn sử dụng các HTTP verb khác như PUT, DELETE cần cấu hình thêm trên IIS
  4. Hỗ trợ các định dạng dữ liệu XML, ATOM, JSON

Ưu điểm:

  • Bổ sung hỗ trợ RESTful service với định dạng dữ liệu JSON nhẹ hơn SOAP với dữ liệu XML rất nhiều
  • Cho phép cấu hình tham số WebGet qua URI sử dụng UriTemplate

Nhược điểm:

  • Chưa hoàn toàn phải là RESTful service, mới chỉ hỗ trợ mặc định GET, POST
  • Cấu hình khó nhớ (cố hữu của WCF)

Nếu bạn muốn biết cách thức xây dựng một service dạng này từng bước như thế nào, hãy xem qua bài viết sau:

Web API (.NET 4 trở lên)

  1. Đây là một framework mới giúp cho việc xây dựng các HTTP service rất đơn giản và nhanh chóng
  2. Open Source và có thể được sử dụng bởi bất kì client nào hỗ trợ XML, JSON
  3. Hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content formats
  4. Có thể host trong ứng dụng hoặc trên IIS
  5. Kiến trúc lý tưởng cho các thiết bị có băng thông giới hạn như smartphone, tablet
  6. Định dạng dữ liệu có thể là JSON, XML hoặc một kiểu dữ liệu bất kỳ

Ưu điểm:

  • Cấu hình hết sức đơn giản khi so với WCF
  • Performance cao
  • Hỗ trợ RESTful đầy đủ
  • Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result, filter, model binder, IoC container, dependency injection, unit test
  • Open Source

Nhược điểm:

  • Còn rất mới nên chưa có nhiều đánh giá về nhược điểm của Web API

Nếu bạn muốn biết cách thức xây dựng một service dạng này từng bước như thế nào, hãy xem qua bài viết sau:

Vậy tôi nên lựa chọn framework nào để phát triển HTTP Service?

Câu trả lời sẽ tùy thuộc vào yêu cầu công việc cụ thể của bạn như thế nào?

Web Service:

  1. Lựa chọn khi bạn chỉ cần xây dựng một service đơn giản

WCF là lựa chọn số một khi xây dựng:

  1. Service cần hỗ trợ những ngữ cảnh đặc biệt như: message queue, duplex communication…
  2. Service sử dụng những kênh truyền dữ liệu ở tầng thấp cho nhanh như: TCP, Named Pipes, UDP…

WCF Rest, Web API được sử dụng khi xây dựng:

  1. Service RESTful hỗ trợ đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content formats
  2. Service cung cấp dữ liệu cho nhiều client khác nhau với băng thông giới hạn như: browser, mobile, tablet…

Kết luận

Qua bài viết này chúng ta đã có một cái nhìn tổng quan hơn về 4 công nghệ hỗ trợ tạo HTTP service trên nền tảng .NET: Web Service, WCF, WCF REST, Web API. Với sự phát triển vũ bão của các thiết bị smartphone, tablet như hiện nay các công nghệ WCF REST và mới đây nhất là WEB API đang nổi lên là những công nghệ lý tưởng nhất cho việc xây dựng các ứng dụng điện toán đám mây. Việc nắm bắt được các công nghệ này là nhu cầu cấp thiết của các lập trình viên vì vậy trong các bài viết sau chúng ta sẽ cùng tìm hiểu chi tiết về cách tạo và sử dụng các service này.

Happy sharing. Stay tuned.

WCF and ASP.NET Web API

WCF is Microsoft’s unified programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments. ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. This topic presents some guidance to help you decide which technology will best meet your needs.

What is WCF?

WCF is the short form of Windows Communication Foundation, and it is basically a framework that is used for the creation of distributed and interoperable applications. This platform came into the limelight in .Net 3.0 Framework. It is commonly utilized for Service Oriented Architecture (SOA), which is renowned for building reliable, secure, and transaction-oriented service.

WCF is built to develop SOAP-based services and bindings, and thus it utilizes standard XML schema over HTTP. This platform is ideal for things like message queues, end-to-end message security, duplex communication, distributed transaction, and one way messaging, among others. WCF allows you to send data asynchronously from one end to the next.

What is a REST API?
What is a REST API?

WCF Vs Web Service

Parameter WCF Web API
Message Exchange Pattern Request reply, one-way, or duplex. By default request-reply only. However, additional message pattern can be supported with web sockets integration.
Hosting IIS hosting, Self-hosting & works activation services. Self-hosting & IIS hosting.
Open Source It is not open source software. It is shipped with.Net framework.It is also available as an independent download.
Support for MVC features WCF does not provide any support for MVC features like controllers, routing, filter, auction results, etc. ASP.NET Web API supports MVC features like routing, controllers, results, filter, action, etc.
Encoding support Text, MTOM, and Binary. Default support for UTF-8 encoding format.
Support for Support for HTTP, UDP, and custom transport protocol. Supports only HTTP protocol
Use of model User attributed based programming model. Maps HTTP verbs to methods
Configuration Uses web.config and attributes to configure a HttpConfiguration class but not on the web.config Service. Web API can be configured using web.config service.
RESTful services It offers supports for RESTFUL service but with limitations. Ideal for building RESTFUL services.

What is WCF?

WCF stands for Windows Communication Foundation. It is used to create a distributed and interoperable Applications. WCF is an effective platform for developing service-oriented applications. It allows developers to create secure, reliable, and high profile development solutions which can be integrated across platforms and interoperate with existing investments.

REST API Interview Questions (Beginner Level)
REST API Interview Questions (Beginner Level)

Web API

This is the new framework for building HTTP services easily and simply. Web API is open source an ideal platform for building RESTful services over the .NET Framework. Unlike the WCF Rest service, it uses the full features of HTTP (like URIs, request/response headers, caching, versioning, and various content formats). It also supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection, and unit testing makes it more simple and robust. It can be hosted within the application or on IIS. It is lightweight architecture and good for devices that have limited bandwidth like smartphones. Responses are formatted by Web API’s MediaTypeFormatter into JSON, XML, or whatever format you want to add as a MediaTypeFormatter.

Difference between WCF and Web API and WCF REST and Web Service: An Overview

The .Net framework has several technologies that allow you to create HTTP services such as Web Service, WCF, and now Web API. There are a lot of articles on the internet that may describe whom you should use, and gaining clarity on this topic is emphasized in ASP.NET Core training. Nowadays, you have a lot of choices for building HTTP services on the .NET framework.

In this Web API Tutorial, I would like to share my opinion with you on Web Service, WCF, and now Web API. For more information about Web API refer What is Web API and why to use it ?.

.NET 7.0 Web API Full course with CRUD actions, Authentication, FileHandling & IIS Deployment - 2023
.NET 7.0 Web API Full course with CRUD actions, Authentication, FileHandling & IIS Deployment – 2023

WCF vs WEB API: Differences/advantages of one over the other

When it comes to security, both WCF and Web API have accepted security standards. WCF can offer protection on enterprise-level, as it includes security protocols that adhere to WS-I guidelines. On the other hand, in Web API, security standards such as token and basic authentication are utilized. If appropriately enforced, security can be achieved in both frameworks.

WFC is SOAP-based and uses standard XML schema which can be a little slower. On the other hand, Web API can utilize any text format, including XML and thus is faster and the most preferred choice for lightweight services.

WCF is the ideal choice when you need to create a service that supports unique scenarios such as duplex communication, one way messaging and message queues, among others. Web API should be the option when you need to build resource-oriented services over HTTP that can utilize the full features of HTTP.

When you want to create a service that can use expedite transport channels when available such as Named Pipes, TCP, and even UDP, WCF is the ideal choice. Web API can be used when you want to expose an expansive range of clients including, mobile phones, iPhone, tablets, and browsers.

Keywords searched by users: web api and wcf

Difference Between Web Api Vs Wcf - Youtube
Difference Between Web Api Vs Wcf – Youtube
Difference Between Web Api Vs Wcf - Youtube
Difference Between Web Api Vs Wcf – Youtube
Difference Between Web Api And Restful Wcf Service | What Are Rest  Principles | Rest Vs Soap Service - Youtube
Difference Between Web Api And Restful Wcf Service | What Are Rest Principles | Rest Vs Soap Service – Youtube
Soap Và Rest, Asmx Và Wcf Web Service
Soap Và Rest, Asmx Và Wcf Web Service
Difference Between Wcf And Web Api
Difference Between Wcf And Web Api
Web Api Or Wcf - An Architectural Comparison | Ppt
Web Api Or Wcf – An Architectural Comparison | Ppt
Web Api Là Gì? Tài Liệu Web Api Tiếng Việt
Web Api Là Gì? Tài Liệu Web Api Tiếng Việt
What Is The Difference Between Wcf And Web Service - Pediaa.Com
What Is The Difference Between Wcf And Web Service – Pediaa.Com
Web Service, Wcf, Web Api | Ppt
Web Service, Wcf, Web Api | Ppt
Compare Wcf Vs Asp.Net Web Api? - Youtube
Compare Wcf Vs Asp.Net Web Api? – Youtube
Wcf Vs Web Api | Asp.Net Webapi Tutorial - Youtube
Wcf Vs Web Api | Asp.Net Webapi Tutorial – Youtube
Wcf And Asp.Net Web Api
Wcf And Asp.Net Web Api
Difference Between Wcf And Web Api
Difference Between Wcf And Web Api
Tweaking Wcf To Build Highly Scalable Async Rest Api - Codeproject
Tweaking Wcf To Build Highly Scalable Async Rest Api – Codeproject
Don'T Create Rest Apis With Wcf Rest Services…Use Web Api Instead –  Dhananjay Kumar
Don’T Create Rest Apis With Wcf Rest Services…Use Web Api Instead – Dhananjay Kumar
Difference Between Wcf And Web Api
Difference Between Wcf And Web Api
1 What Is Web Api, Why Web Api, Web Api Vs Wcf | Asp.Net Core Web Api  Tutorial For Beginners - Youtube
1 What Is Web Api, Why Web Api, Web Api Vs Wcf | Asp.Net Core Web Api Tutorial For Beginners – Youtube
Difference Between Wcf And Asp.Net Web Api | Pdf
Difference Between Wcf And Asp.Net Web Api | Pdf
Wcf Vs Web Services | Top 9 Amazing Differences To Learn
Wcf Vs Web Services | Top 9 Amazing Differences To Learn
Part 18 : Web Api Vs Wcf #Webservices #Protocol #Network Communication  #Apimanagement - Youtube
Part 18 : Web Api Vs Wcf #Webservices #Protocol #Network Communication #Apimanagement – Youtube
Web Service Vs Wcf Service - Youtube
Web Service Vs Wcf Service – Youtube

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *