7

Tôi đã sử dụng hai tệp cấu hình này nhiều lần trước đây, nhưng tôi chưa bao giờ dành thời gian để hiểu đầy đủ cách chúng thực sự hoạt động. Như hầu hết mọi người làm, tôi hiểu những điều cơ bản về cách gọi WebConfigurationManager.AppSettings["key"] để nhận các giá trị cấu hình.Ai đó có thể cung cấp hướng dẫn nhanh App.config/Web.config không?

Dưới đây là một số câu hỏi tôi đã đưa ra:

  1. gì xảy ra khi bạn tham khảo giá trị cấu hình trong một thư viện lớp, và thư viện là một phần của giải pháp lớn hơn? Liệu app.config có cần phải được sao chép vào thư mục đầu ra để các biến được tìm thấy không? (Tôi giả sử có)
  2. Bạn có thể trực tiếp sử dụng giá trị cấu hình từ một app.config trong thư viện lớp khác không?
  3. Giả sử câu hỏi 3 là "có", điều gì xảy ra nếu có nhiều tệp app.config từ các thư viện khác nhau chứa các giá trị cấu hình có cùng khóa?
  4. Điều gì xảy ra khi bạn tham khảo web.config, nhưng trong thư viện lớp học?
  5. Điều gì xảy ra khi bạn tham khảo ứng dụng.config, nhưng trong một dự án ứng dụng web hoặc ứng dụng web?

Trả lời

4

Câu trả lời cơ bản cho tất cả các câu hỏi của bạn là như nhau: Trừ khi bạn thiết lập một cái gì đó bất thường, tất cả các cụm trong dự án của bạn sẽ đọc từ cùng một tệp cấu hình. Trong một ứng dụng web, tất cả họ sẽ đọc từ "web.config". Trong bất kỳ loại dự án nào khác, chúng sẽ đọc từ tệp cấu hình của assembly bắt đầu.

4

Ứng dụng/web.config được sử dụng là ứng dụng bắt đầu quá trình. Dễ dàng hơn nếu tôi đưa ra ví dụ:

  • Giả sử tất cả các dự án trong một giải pháp đều có ứng dụng hoặc web.config.
  • Một thử nghiệm trong dự án cuộc gọi trong dự án B mà các cuộc gọi một dịch vụ web trong dự án C trong đó kêu gọi mã trong dự án D.

Trong mã này trường hợp trong dự án MộtB sẽ sử dụng app.config trong dự án Một. Mã trong dự án CD sẽ sử dụng web.config trong dự án C.