Wcf service là gì

Bài này trình làng tổng quan liêu về công nghệ Windows Communication Foundation (WCF). Phần đầu nói tới đều công nghệ đã được thực thi bên trên quả đât nhằm mục tiêu xử lý sự việc liên lạc giữa laptop cùng với sản phẩm công nghệ tinh với gần như khó khăn thử thách vào bài toán thực hiện các công nghệ trên. Từ kia dẫn đến sự ra đời của technology nền tảng gốc rễ WCF, là nền tảng thống độc nhất mang đến bài toán gây ra nkhô nóng các vận dụng yêu cầu giao tiếp. Sau này sẽ reviews cơ bạn dạng về phong cách xây dựng của WCF, phần đông nguyên tố vừa lòng thành WCF. Phần cuối đã giới thiệu các dụng cụ quan trọng nhằm sản xuất ứng dụng cùng với WCF cùng rất một ví dụ dễ dàng và đơn giản với WCF để học viên dễ hình dung

Windows Communication Foundation (WCF) là gì?

WCF là technology nền tảng gốc rễ nhằm mục đích thống độc nhất vô nhị những mô hình lập trình sẵn giao tiếp được cung ứng trong .NET 2.0 thành một mô hình tuyệt nhất. Vào mon 1một năm 2005, .NET 2.0 được Microsoft xây cất trong đó bao gồm hỗ trợ những hàm API cá biệt cho các liên hệ dựa trên SOAP để về tối đa hoá sự làm việc giữa các nền tảng gốc rễ thực hiện Web Services, mặt khác .NET 2.0 còn hỗ trợ những API để buổi tối ưu bài toán liên lạc dựa trên mã nhị phân thân những áp dụng điều khiển xe trên hệ thống Windows hotline là .NET Remoting, những API cho các giao dịch phân tán, với API đến liên hệ dị cỗ. WCF thống độc nhất các API này thành một mô hình tốt nhất nhằm mục đích đáp ứng nhu cầu quy mô lập trình sẵn hướng hình thức dịch vụ.

Bạn đang xem: Wcf service là gì

WCF có thể sử dụng những bản tin SOAP giữa hai quá trình, cho nên có tác dụng cho các áp dụng dựa vào WCF rất có thể thao tác với những quy trình không giống trải qua việc giao tiếp thực hiện phiên bản tin SOAP. khi một quy trình WCF liên lạc với cùng một tiến trình không là WCF, các bạn dạng tin SOAPhường được mã hoá trên cơ sở XML, nhưng lại khi nó liên lạc với 1 các bước WCF không giống, phiên bản tin SOAP.. có thể được về tối ưu hoá dựa trên mã hoá nhị phân.

Tại sao thực hiện WCF?

Như phần bên trên vẫn trình diễn, .NET 2.0 hỗ trợ không ít phương thức liên lạc giữa các vận dụng khác biệt nhằm vào các kim chỉ nam khác nhau. Các phương thức liên lạc này hơi tinh vi cùng nên mất nhiều thời gian để quản lý được technology. Tuy nhiên kiến thức thu được từ các việc triển khai một phương pháp không nhiều có công dụng cần sử dụng được lúc thao tác với phương pháp không giống.

Với việc ra đời của WCF, số đông cách thức liên hệ hồi xưa gần như rất có thể thực hiện bên trên WCF. Do vậy đơn vị trở nên tân tiến chỉ cần cai quản được technology WCF là hoàn toàn có thể thành lập những vận dụng một cách hối hả.

WCF là 1 trong quy mô thiết kế có thể chấp nhận được công ty trở nên tân tiến phát hành những giải pháp hình thức bảo đảm an toàn tính bất biến, và bảo mật với thậm chí là đảm bảo an toàn giao dịch. Nó làm cho đơn giản hoá việc phát triển những ứng dụng nối kết cùng chỉ dẫn cho bên cải cách và phát triển phần đa giá trị nhưng hoàn toàn có thể bọn họ không nhận thấy ngay, đó là phương pháp tiếp cận cách tân và phát triển khối hệ thống phân tán thống tốt nhất, dễ dàng và đơn giản, và cai quản được.

Do WCF được desgin bên trên đại lý của .NET Framework 2.0 CLR, nó là tập các lớp cho phép các nhà cải cách và phát triển xây dừng những áp dụng hướng dịch vụ bằng môi trường xung quanh lập trình không còn xa lạ của mình nlỗi VB.NET xuất xắc C#

Kiến trúc của WCF

Hình sau thể hiện các lớp đa số trong kiến trúc của Windows Communication Foundation (WCF)

*
Kiến trúc của WCF (hình hình ảnh từ www.microsoft.com)

Các contracts (Các hiệp nghị) Các contract trong WCF cũng tương tự những đúng theo đồng/hiệp định nhưng chúng ta ký kết trong cuộc sống thật. Một thích hợp đồng bạn cam kết có thể cất các thông báo như vẻ bên ngoài quá trình bạn sẽ làm cho, cùng đều đọc tin cơ mà bạn có nhu cầu giới thiệu cho các bên khác. WCF contract cũng cất các công bố tương tự như điều này. Contract định nghĩa những đặc tả vào hệ thống phiên bản tin.Thông thông thường có những loại contract sau:

Contract tài liệu biểu thị những tham mê số cho những bản tin nhưng mà một dịch vụ có thể tạo ra thường được sử dụng. Các tsay mê số bạn dạng tin được có mang bởi những tài liệu thực hiện ngôn từ quánh tả XML Schema (XSD), điều đó được cho phép các khối hệ thống gọi XML hoàn toàn có thể xử lý tài liệu dễ dãi. Các dịch vụ Lúc liên lạc với nhau rất có thể ko đề xuất gật đầu đồng ý với nhau về những vẻ bên ngoài, cơ mà buộc phải đồng ý về contract dữ liệu, tức thị gật đầu đồng ý về các tđam mê số cùng những kiểu dáng trả về.Contract bạn dạng tin quan niệm các phần gồm trong bản tin áp dụng các giao thức SOAP, và nó được cho phép tinh chỉnh sâu rộng cho tới các bên trong bản tin Khi có hưởng thụ sự chính xác điều này.Contract các dịch vụ sệt tả chi tiết những cách thức của dịch vụ, và được phân păn năn nlỗi là một trong những đồ họa trong những ngôn ngữ thiết kế nhỏng Visual Basic xuất xắc Visual C#. Có thể tưởng tượng về contract hình thức một phương pháp gián tiếp như sau: „Đây là các mẫu mã dữ liệu của những bạn dạng tin của mình, đây là vị trí tôi hỗ trợ, cùng đấy là những giao thức mà tôi rất có thể liên lạc”Các cơ chế và những kết nối (bindings) mô tả các ĐK cần phải có nhằm giao tiếp với cùng một hình thức dịch vụ. Các chế độ đang bao hàm cả các trải nghiệm về bảo mật thông tin và các điều kiện khác rất cần phải có lúc kết nối với 1 các dịch vụ.

Runtime service (Thương Mại & Dịch Vụ thực thi)

Lớp hình thức dịch vụ xúc tiến chứa các hành xử sẽ xảy ra vào quy trình tiến hành của hình thức dịch vụ, tức thị những hành xử triển khai của hình thức. Ta vẫn thấy một số những hành xử như sau:

Throttling behavior: Điều khiển luồng nhằm mục đích pháp luật coi bao gồm từng nào phiên bản tin được xử lýError behavior: Hành xử lỗi cách thức những hành động khi lỗi xẩy ra vào hệ thốngMetadata behavior: Hành xử với các hết sức dữ liệu quy định xem làm ráng nào và khi nào thì các cực kỳ tài liệu được chỉ dẫn bên ngoài dịch vụInstance behavior: Hành xử thực thể phương tiện coi gồm từng nào thực thể của dịch vụ này được chạyTransaction behavior: Hành xử giao dịch thanh toán cho phép bài toán rollbachồng các thanh toán giao dịch giả dụ xảy ra lỗiMessage inspection: Kiểm tra bản tin đưa về mang lại dịch vụ kĩ năng kiểm soát tất cả hay là một số phần của bản tinDispatch behavior: Khi một phiên bản tin được cách xử trí do gốc rễ WCF, các dịch vụ Dispatch behavior khẳng định coi bản tin được cách xử lý ra sao.Concurrency behavior: Hành xử đôi khi xác định xem Việc giải pháp xử lý cụ như thế nào với câu hỏi nhiều luồng của từng hình thức tốt từng thực thể của dịch vụ. Hành xử này giúp cho bài toán tinh chỉnh con số luồng hoàn toàn có thể truy nã nhùa tới một thực thể của hình thức dịch vụ.Parameter filtering: Lúc một bản tin được đưa đến một hình thức dịch vụ, sẽ xảy ra một số trong những hành vi dựa trên câu chữ phần đầu đề của bản tin. Phần lọc tham số đã tiến hành thanh lọc các đầu đề phiên bản tin cùng triển khai những hành động đặt sẵn dựa trên Việc lọc đầu đề bản tin.

Message (Bản tin)

Lớp bạn dạng tin là tập vừa lòng những kênh. Mỗi kênh là 1 trong thành phần giải pháp xử lý bạn dạng tin theo một biện pháp như thế nào kia. Một tập những kênh hay được hotline là ngăn uống xếp kênh. Các kênh thao tác làm việc bên trên bản tin và bên trên nhan đề của bạn dạng tin. Lớp này khác cùng với lớp tiến hành hình thức dịch vụ chủ yếu vày sự khác biệt vào câu hỏi xử lý ngôn từ phiên bản tin.

Có nhị kênh khác nhau là kênh đi lại (transport channel) và kênh điều khiển và tinh chỉnh (control channel).

Kênh chuyên chở phụ trách nát câu hỏi phát âm cùng ghi những bạn dạng tin trường đoản cú mạng (network) hoặc tự một số trong những điểm thanh toán giao dịch bên ngoài)Kênh tinh chỉnh tiến hành cách xử trí bản tin theo giao thức, thông thường làm việc bằng phương pháp phát âm với ghi thêm các đầu đề mang lại phiên bản tin.

Host & activation (Chẹn và kích hoạt)

Nhìn một cách tổng thể và toàn diện thì một hình thức dịch vụ thực chất là một công tác. Cũng giống hệt như các chương trình không giống, một hình thức cần phải chạy trong một tệp tiến hành. Thương Mại Dịch Vụ này thường xuyên được Điện thoại tư vấn là dịch vụ từ cất.

Các hình thức dịch vụ còn rất có thể được đựng, hoặc chạy vào một tệp triển khai được thống trị bởi vì một agent phía bên ngoài nlỗi IIS hay Windows Activation Services (WAS). WAS cho phép WCF được kích hoạt một giải pháp auto khi phân păn năn tới một máy tính xách tay có chạy WAS

Các nhân kiệt của WCF WCF có không ít công dụng và sẽ tiến hành mô tả cụ thể vào toàn thể khoá học tập. Mục này chỉ nhằm mục đích mục đích bàn bạc một trong những khả năng của WCF. Danh sách các tuấn kiệt tại đây chưa phải là danh sách hoàn hảo, nhưng chỉ mong muốn là list những tác dụng “đỉnh” tuyệt nhất.

Xem thêm: Bật Mí Cách Treo Ảnh Gia Đình Trong Phòng Khách Đúng Chuẩn

Transaction (Giao dịch) Một thanh toán giao dịch là 1 trong những đơn vị chức năng của quá trình. Một giao dịch thanh toán bảo đảm an toàn chắc chắn rằng hầu hết sản phẩm ra mắt vào thanh toán giao dịch thành công xuất sắc tốt thất bại đa số là hiệu quả toàn diện và tổng thể. Ví dụ, nếu như một giao dịch đựng tía mục công việc nên tiến hành, trong quy trình triển khai giao dịch, một trong số những mục đó bị thua cuộc, khi ấy cả tía mục sẽ là không thắng cuộc. trao đổi chỉ thành công xuất sắc lúc cả ba mục các bước hầu hết thành công. giao hoán thường bắt gặp trong các thao tác cùng với đại lý tài liệu.

WCF cho phép gửi vào câu hỏi xử trí thanh toán giao dịch nhỏng bên trên cùng với các liên lạc. Nhà cải tiến và phát triển hoàn toàn có thể nhóm những liên lạc với nhau thành những giao dịch thanh toán. Tại nấc công ty lớn, anh tài này cho phép chúng ta thực hiện những các bước thanh toán giao dịch qua các nền tảng gốc rễ không giống nhau.

Host (Chứa) WCF cho phép các hình thức dịch vụ được đựng vào một số to những môi trường xung quanh khác nhau, như Windows NT Services, Windows Forms, cùng ứng dụng console, cũng tương tự sinh sống trên IIS (Internet Information Server) và WAS (Windows Activation Services).

Chứa hẹn vận dụng bên trên IIS còn có thêm những lợi điểm không giống là một kênh dịch vụ rất có thể thừa nhận các điểm mạnh của nhiều công dụng có sẵn trên IIS, ví dụ IIS có thể tinh chỉnh một cách tự động hóa Việc ban đầu tốt xong một dịch vụ.

Bảo mật Bảo mật là thiên tài không thể thiếu vào WCF thích hợp với vào liên hệ nói tầm thường. Trong WCF, toàn bộ phần đông thứ từ bỏ những phiên bản tin cho tới những client tốt server phần lớn đề nghị xác thực và WCF bao gồm kĩ năng nhằm bảo đảm an toàn rằng những bạn dạng tin không biến thành lẫn vào quy trình đi lại. WCF bao hàm việc bảo đảm an toàn tính toàn vẹn cùng bảo mật của bạn dạng tin.

WCF còn có thể chấp nhận được bạn tích hợp áp dụng của bạn với hạ tầng bảo mật sẵn gồm, bao gồm cả các chuẩn bên ngoài môi trường Windows bằng cách thực hiện các bản tin SOAPhường bảo mật.

Công gắng cách tân và phát triển với WCF Để cách tân và phát triển áp dụng với WCF ta yêu cầu các phần mềm sau:

.NET Framework 3.5. Học viên có thể tải về bộ sở hữu của .NET Framework 3.5 tại trang web của Microsoft. Địa chỉ nlỗi sau: http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-8319- 81da479ab0d7&displaylang=enMicrosoft Visual Studio 2008. Bản dùng thử rất có thể tải về nghỉ ngơi đây: http://msdn.microsoft.com/en-us/visualc/aa700831.aspxHoặc Microsoft Visual Studio Express Editions. Địa chỉ mua về: http://www.microsoft.com/express/

lấy ví dụ như đầu tiên cùng với WCF Xây dựng vận dụng viết chữ Hello World ra screen sử dụng WCF. Các bước thao tác làm việc nhỏng sau:

1. Mngơi nghỉ Visual Studio 2008, lựa chọn Create New Project, vào phần WCF chọn WCF Service Librargiống hệt như hình bên dưới. Đặt tên project là HelloService.

*

Tạo WCF Project

2. Sau Khi project được tạo nên, xoá 2 tệp IService1.cs và Service1.cs. Đồng thời có tác dụng sạch sẽ tệp phầm mềm.config thành nlỗi sau:

3. Kích con chuột yêu cầu vào project HelloService, lựa chọn “Add -> New Item”. Sau đó chọn thêm một WCF Service, đặt tên nó là HelloWorld như hình bên dưới. Hệ thống vẫn sản xuất 2 tệp đến bạn:

*

Thêm HelloWorld service

a. Tệp IHelloWorld.cs chứa một giao diện gọi là IHelloWorld, đấy là contract cho các dịch vụ của khách hàng. Ttuyệt hàm DoWork thành SayHello nlỗi sau:

public interface IHelloWorld string SayHello(string inputName); b. Tệp HelloWorld.cs, cất lớp Gọi là HelloWorld, lớp này đang cài đặt contract đến dịch vụ của công ty. Ttuyệt hàm DoWork thành SayHello nhỏng sau:

public class HelloWorld : IHelloWorld #region IHelloWorld Members public string SayHello(string inputName) return "Chào chúng ta " + inputName; #endregion Lúc triển khai thiết đặt một hình thức dịch vụ WCF, thông thường bạn quan niệm phần giao diện trước (những interface) tiếp nối mới thực hiện thông qua một lớp nhằm thiết đặt giao diện đó. quý khách hoàn toàn rất có thể làm cho bằng tay thủ công nhằm viết lại phần knhì báo những cách thức đang có trong hình ảnh. Tuy nhưng, tất cả một biện pháp nkhô nóng hơn giúp cho bạn khai báo các cách tiến hành cũng như thuộc tính của bối cảnh bởi Visual Studio. Cách làm như sau:

Bước 1. Mnghỉ ngơi file cất class cần thiết lập. Di gửi con trỏ cho tới tên hình ảnh như hình dưới

*

Di chuyển con trỏ cho tới tên giao diện

Bước 2. Bấm con chuột vào hình chữ nhật nhỏ tuổi bên dưới chữ IHelloWorld (kiểu như smart tag trong Microsoft Word), xem hình dưới

*

Kích hoạt smarttag

Bước 3. Mnghỉ ngơi menu popup và lựa chọn 1 trong 2 mục.

*

Chọn mục menu để setup giao diện

Kết quả. Sau khi lựa chọn 1 mục menu ta sẽ tiến hành công dụng như hình bên dưới.

*

Kết quả

Nlỗi chúng ta sẽ thấy, thực hiện anh tài này của Visual Studio cho phép chúng ta triển khai sinh sản nhanh các knhị báo quan trọng nhằm thiết lập bối cảnh.

Xem thêm: Tổng Hợp Các Game Nấu Ăn Hay Nhất Thế Giới, Top 10 Game NấU Ăn Hay Và Vui NhộN NhấT 2021

4. Vậy là chúng ta sẽ có một hình thức hoàn chỉnh. Bấm F5 để chạy. Visual Studio sẽ auto điện thoại tư vấn lịch trình WCF Test Client (là chương trình client nhằm chạy thử hình thức của WCF). Xem hình dưới

*

WCF Test Client

5. Chuyển tới phương thức SayHello, gửi vào tmê say số, đưa sử là tên gọi của doanh nghiệp, sau đó bấm nút Invoke. Kết trái xem hình dưới.

*

Kết quả tình thi

Sử dụng lao lý WCF Test Client để debug các dịch vụ WCF

Công cụ WCF Test Client rất có thể được kích hoạt theo 2 biện pháp. – Cách thứ nhất nlỗi các bạn đã thấy ngơi nghỉ ví dụ bên trên. Công nắm này được kích hoạt một biện pháp auto Khi ta thực hiện debug một WCF Service Library. – Cách thứ hai là chạy trực tiếp cùng cung ứng các dịch vụ yêu cầu debug. Cách này thông thường thường được sử dụng nhằm debug các dịch vụ khi host hình thức dịch vụ bởi IIS. Công núm WCF Test Client hoàn toàn có thể kiếm tìm thấy sinh sống thỏng mục sau:

C:Program FilesMicrosoft Visual Studio 9.0Common7IDEWcfTestClient.exe

khi kích hoạt thẳng WCF Test Client, vẫn thấy screen khởi đụng nlỗi sau:

*

Màn hình khởi động của WCT Test Client

Bấm loài chuột nên vào My Service Projects, chúng ta có thể thêm vào các các dịch vụ WCF nhằm tiến hành debug

*

Thêm một các dịch vụ vào WCF Test Client

Màn hình dưới đây là ví dụ thêm vào trong 1 hình thức được host bên trên IIS

*

Thêm vào một trong những hình thức dịch vụ được host trên IIS

File download: Bài 1: Giới thiệu tổng quan lại về WCFSource Code Example: Download

N g u ồ n : m s d n v i e t n a m . n e t


Chuyên mục: Blogs