Nhóm kết nối – phát triển ứng dụng di động, dịch vụ web, kiến trúc SOA - Công nghệ
Chuyển đến nội dung

Tổng hợp kết nối - phát triển ứng dụng di động, dịch vụ web, kiến trúc SOA

  • qua

quảng cáo

Tổng hợp kết nối là gì?

Nhóm kết nối cho phép sử dụng lại các kết nối hiện có để giảm chi phí liên tục tạo và loại bỏ các kết nối có cùng cấu hình. Nói cách khác, việc mở và đóng các kết nối sử dụng cùng một chuỗi kết nối và thông tin xác thực có thể sử dụng lại một kết nối khả dụng trong nhóm. Các ứng dụng điển hình sử dụng cùng các đối tượng kết nối để liên tục tìm nạp và cập nhật dữ liệu từ cơ sở dữ liệu. Tổng hợp kết nối cung cấp mức hiệu suất cao hơn nhiều bằng cách loại bỏ nhu cầu cơ sở dữ liệu phải liên tục tạo và hủy kết nối. Nhóm kết nối được phân tách theo quy trình, miền ứng dụng và chuỗi kết nối. Đối với các chuỗi kết nối sử dụng bảo mật tích hợp, một nhóm riêng biệt được tạo cho từng danh tính duy nhất.

Kiểm soát các tùy chọn tổng hợp kết nối

Nhóm kết nối được bật theo mặc định khi tạo các đối tượng kết nối ADO.NET. Bạn có thể kiểm soát hành vi tổng hợp kết nối (hoặc vô hiệu hóa tổng hợp kết nối hoàn toàn) bằng cách đặt các từ khóa chuỗi kết nối cụ thể cho tổng hợp kết nối. Ví dụ: để vô hiệu hóa cụ thể tính năng tổng hợp kết nối, hãy đặt Pooling=False trong chuỗi kết nối của bạn. Bảng 5-7 cung cấp danh sách các từ khóa chuỗi kết nối có thể được sử dụng để kiểm soát cách một kết nối cụ thể tương tác với nhóm kết nối. Không phải tất cả các từ khóa đều có sẵn cho tất cả các nhà cung cấp. Ví dụ: nhà cung cấp OLE DB theo dõi tổng hợp kết nối (còn được gọi là tổng hợp tài nguyên hoặc phiên) dựa trên giá trị được đặt cho từ khóa Dịch vụ OLE DB trong chuỗi kết nối.

Chuỗi kết nối nhóm kết nối bảngNgoài các thuộc tính chuỗi kết nối kiểm soát hành vi tổng hợp kết nối, còn có các phương thức có sẵn trên các đối tượng kết nối cũng có thể ảnh hưởng đến việc tổng hợp kết nối. Các phương pháp khả dụng thường được sử dụng khi bạn đóng các kết nối trong ứng dụng của mình và bạn biết rằng chúng sẽ không được sử dụng lại. Thao tác này sẽ dọn sạch nhóm kết nối bằng cách loại bỏ các kết nối thay vì đưa chúng trở lại nhóm khi chúng bị đóng. Bất kỳ kết nối nào đã có trong nhóm và đang mở sẽ bị hủy vào lần đóng tiếp theo. Bảng 5-8 liệt kê các phương pháp có sẵn để tương tác với nhóm kết nối.

Định cấu hình kết nối để sử dụng kết nối tổng hợp

Theo mặc định, tất cả các nhà cung cấp dữ liệu .NET Framework có sẵn trong ADO.NET đều được bật kết nối tổng hợp, nhưng mức độ kiểm soát khả dụng để làm việc với kết nối tổng hợp thay đổi tùy thuộc vào nhà cung cấp đang được sử dụng.

Định cấu hình nhóm kết nối với các kết nối máy chủ SQL

Theo mặc định, đối tượng SqlConnection tự động sử dụng tổng hợp kết nối. Mỗi lần bạn gọi Sqlconnection.Open bằng một chuỗi kết nối duy nhất, một nhóm mới sẽ được tạo. Kiểm soát hành vi tổng hợp kết nối bằng cách đặt các từ khóa nhóm kết nối trong chuỗi kết nối như được mô tả trước đó trong Bảng 5-7. Ví dụ: hãy xem xét một kết nối mà bạn muốn đặt kích thước nhóm tối thiểu. Bằng cách gán một giá trị lớn hơn 0 cho từ khóa Mîn Pool Size, bạn đảm bảo rằng nhóm không bị hủy cho đến khi ứng dụng kết thúc. Để đặt kích thước nhóm tối thiểu thành 5, hãy sử dụng chuỗi kết nối tương tự như sau:

Nguồn dữ liệu=SqlServerName;Danh mục ban đầu=DatabaseName; Bảo mật tích hợp=True;Kích thước nhóm tối thiểu=5

Kích thước nhóm tối thiểu là 0 theo mặc định, có nghĩa là mỗi kết nối cần được tạo và khởi tạo theo yêu cầu, tăng kích thước nhóm tối thiểu trong chuỗi kết nối, số lượng kết nối được chỉ định sẽ được tạo và sẵn sàng sử dụng, điều này có thể giảm thời gian cần phải thiết lập kết nối trên các kết nối ban đầu này.

Cấu hình tổng hợp kết nối với kết nối Oracle

Các kết nối sử dụng .NET Framework Data Provider cho Oracle sẽ tự động sử dụng kết nối tổng hợp theo mặc định. Bạn có thể kiểm soát cách kết nối sử dụng tổng hợp bằng cách đặt từ khóa chuỗi kết nối. Bảng 5-10 nêu chi tiết các từ khóa chuỗi kết nối có sẵn để thay đổi các hoạt động tổng hợp kết nối.

Xử lý lỗi kết nối

Khi SQL Server trả về một cảnh báo hoặc lỗi, Nhà cung cấp dữ liệu .NET Framework cho SQL Server sẽ tạo và đưa ra một SqlException mà bạn có thể nắm bắt trong ứng dụng của mình để xử lý sự cố. Khi ném SqlException, hãy kiểm tra thuộc tính SqlException.Errors để truy cập tập hợp các lỗi được trả về từ máy chủ SQL. Thuộc tính SqlException.Errors là một lớp SqlErrorCollection (một tập hợp các lớp SqlError) luôn chứa ít nhất một đối tượng SqlError.

THÔNG TIN THÊM Lỗi Máy chủ SQL

SqlConnection sẽ vẫn mở đối với các thư có mức độ nghiêm trọng từ 19 trở xuống, nhưng thường sẽ tự động đóng khi mức độ nghiêm trọng từ 20 trở lên.

Bản tóm tắt

  • Tổng hợp kết nối được bật theo mặc định.
  • Các tùy chọn tổng hợp kết nối được xác định trong chuỗi kết nối, ngoại trừ nhà cung cấp ODBC, sử dụng hộp thoại Quản trị viên nguồn dữ liệu ODBC trên Windows.
  • Đối tượng SqlException được tạo khi phát hiện lỗi trên máy chủ SQL.
  • Mỗi trường hợp ngoại lệ SqlException chứa ít nhất một cảnh báo SqlError chứa thông tin lỗi máy chủ thực tế.
  • Xác thực Windows (còn được gọi là Bảo mật tích hợp) là phương pháp được đề xuất để kết nối an toàn với dữ liệu.
  • Lưu trữ các chuỗi kết nối chứa thông tin nhạy cảm trong tệp cấu hình của ứng dụng và mã hóa tất cả các cài đặt chứa thông tin nhạy cảm.