2009-04-08 19 views
6

Có vẻ như có hai cách tiếp cận khác nhau. ASP.NET framework cung cấp cho chúng ta một cách dễ dàng để bản địa hóa các trang bằng cách đặt các chuỗi giao diện người dùng vào tài nguyên, như UserProfile.en.resx, UserProfile.fr.resx, v.v.ASP.NET: Lưu trữ văn bản giao diện người dùng có thể bản địa hóa tốt hơn trong tài nguyên hoặc trong cơ sở dữ liệu?

Cách tiếp cận khác là đặt tất cả các chuỗi trong các bảng riêng biệt trong sau đó sử dụng một số cơ chế tùy chỉnh để truy xuất chúng theo các cài đặt ngôn ngữ/văn hóa hiện đang hoạt động.

Theo tôi hiểu, phương pháp tiếp cận cơ sở dữ liệu điển hình hơn cho các dự án lớn như phần mềm doanh nghiệp. Nó cũng có một lợi ích mà bạn có thể cung cấp cho một bên ngoài truy cập vào cơ sở dữ liệu đó để có thể một công ty dịch thuật. Với nguồn lực sẽ rất khó.

Mặt khác, truy xuất tất cả các chuỗi tĩnh từ cơ sở dữ liệu là lưu lượng truy cập bổ sung và tải trên không. Tôi không thể thấy bất kỳ lợi ích nào cho một trang web tương đối nhỏ để làm điều đó. "Nhỏ" có nghĩa là không phải lưu lượng truy cập mà là số lượng và độ phức tạp của các trang.

Cá nhân tôi thích sử dụng tài nguyên cho các dự án riêng tư của tôi. Đây có phải là một ý tưởng hoàn toàn tồi không?

Nhân tiện, tôi vẫn có thể sử dụng tài nguyên với ASP.NET MVC không?

Bất kỳ suy nghĩ nào được đánh giá cao.

CHỈNH SỬA: Chỉ một câu trả lời, không thể tin rằng câu hỏi này không quan tâm đến bất kỳ ai. Noone muốn chia sẻ ý kiến ​​của họ?

Trả lời

2

tôi thích lưu tất cả thông tin này vào cơ sở dữ liệu thay vì tùy thuộc vào tệp tài nguyên asp.net.

những gì tôi đã làm là phân lớp các điều khiển chung của tôi (như nhãn) và ghi đè phương thức hiển thị. phương pháp này tìm kiếm văn hóa hiện tại và đặt chú thích thích hợp cho phù hợp bằng cách xem xét đến cấu trúc dữ liệu của tôi

liên quan đến hiệu suất khi bạn lưu chúng trong cơ sở dữ liệu - đây là những gì tôi làm: trong sự kiện application_start, tôi chỉ cần tải tất cả văn hóa của mình mô tả cụ thể vào một đối tượng tùy chỉnh và bộ nhớ cache nó thực sự dài. bằng cách này tôi không phải nhấn vào cơ sở dữ liệu cho đến khi bộ nhớ cache của tôi hết hạn hoặc tôi buộc nó hết hạn

cho đến nay chúng tôi chưa bao giờ gặp phải bất kỳ vấn đề nào với hiệu suất theo cách tiếp cận này. có nói tất cả điều này - xin lưu ý tôi không nói rằng việc sử dụng các file tài nguyên là một lựa chọn tồi

nhưng nếu được lựa chọn đối với tôi, tôi sẽ thích cách tiếp cận cơ sở dữ liệu thay vì cách tiếp cận tập tin tài nguyên

3

Kết hợp hai . Bạn có thể viết một nhà cung cấp tài nguyên tùy chỉnh sử dụng cơ sở dữ liệu thay vì tệp tài nguyên, do đó bạn không phải thực hiện việc nâng bản thân của văn bản (nghĩa là, cho phép đối mặt với nó, dễ bị lỗi), bạn chỉ cần sử dụng ASP. Chức năng nội địa hoá của NET. MSDN có một tốt walkthrough bởi Michelle Leroux Bustamante

+0

http://www.west-wind.com/presentations/wwdbresourceprovider/ article có triển khai thực hiện với mã nguồn cho nhà cung cấp tài nguyên tùy chỉnh sử dụng cơ sở dữ liệu. –

Các vấn đề liên quan