2010-07-30 41 views
9

Phương pháp hay nhất để lưu cài đặt ứng dụng (chẳng hạn như tên người dùng và mật khẩu, vị trí cơ sở dữ liệu ...) trong C#?Lưu cài đặt ứng dụng trong C#

Gợi ý: Tôi mới vào .net và C#

Trả lời

12

Application Configuration Cài đặt được ứng dụng rộng rãi (không dùng cụ thể) thuộc về một trong hai app.config (cho các ứng dụng máy tính để bàn) hoặc web.config (cho các ứng dụng Web).

Việc mã hóa các phần của tệp web.config khá đơn giản như được nêu trong this Super Simple Example.

Nếu bạn cần lưu trữ Cài đặt người dùng cụ thể (như cài đặt ứng dụng, vv) hoặc cài đặt ứng dụng rộng không liên quan đến cấu hình ứng dụng mà bạn có thể sử dụng một tập tin Cài đặt như đã mô tả ở đây:

User Settings in C#

+0

ok, có an toàn không? nếu có làm thế nào để sử dụng nó? cảm ơn – Radi

+0

Thiết bị không an toàn, nhưng bạn có thể mã hóa các tệp cấu hình và các phần của chúng trong .NET. Xem câu trả lời của tôi, tôi đã cung cấp một số liên kết hiển thị điều này. –

+0

các dữ liệu này có an toàn không? tôi có nghĩa là tôi kinh nghiệm (trong ứng dụng được sử dụng. Net Framework 2) mà thiết lập ứng dụng của tôi đã bị mất ... một lần hoặc hai lần ... – deadManN

0

Tôi nghĩ app.config (ứng dụng không phải web) hoặc web.config (ứng dụng web).

2

Tùy chọn đầu tiên là đăng ký. Nó rất dễ dàng, nhưng nó không phải là quá an toàn cho mật khẩu. Một tùy chọn khác là sử dụng tệp bạn tạo. Điều này cũng không an toàn, trừ khi bạn muốn thực hiện cryption.

Tùy chọn tiếp theo đang sử dụng Cài đặt ứng dụng. Điều này cũng khá đơn giản, nhưng có một vài bắt. Đầu tiên, nhấp chuột phải vào dự án của bạn và vào Properties. Ở đó, trong tab Cài đặt, bạn có thể lưu trữ các biến mà bạn có thể truy cập từ chương trình của mình theo

string password = Properties.Settings.Default.Password 

Bạn cũng có thể thay đổi theo cùng một cách, nhưng CHỈ NẾU phạm vi được đặt Người dùng. Khi phạm vi áp dụng rộng, VS không cho phép bạn thay đổi các biến này vì một số lý do lẻ. Để lưu thay đổi, bạn phải gọi Lưu() như sau:

Properties.Settings.Default.Save(); 

Những sẽ được lưu trong thư mục dữ liệu người dùng trong môi trường C: \ Documents and Settings \ 'Current User' \ Local Settings \ Application Data \

Một tùy chọn khác sẽ bao gồm chúng trong cơ sở dữ liệu của bạn, nhưng vì bạn cũng đang lưu trữ vị trí cơ sở dữ liệu của bạn, điều này có thể không làm việc cho bạn.

+2

Có vài lý do để vẫn được sử dụng đăng ký cho các ứng dụng mới. –

0

Các loại cài đặt này thường nằm trong Tệp cấu hình ứng dụng (web.config, app.config).

http://www.devasp.net/net/articles/display/679.html

Nếu bạn đang lưu trữ mật khẩu, bạn cũng có thể cần để mã hóa phần cấu hình trong câu hỏi.

http://msdn.microsoft.com/en-us/library/53tyfkaw.aspx

http://msdn.microsoft.com/en-us/library/ff650304.aspx

Lưu ý nếu bạn sử dụng app.config, bạn sẽ thấy nó được đổi tên thành ..config, tùy thuộc vào nếu đầu ra của bạn tạo ra một DLL hoặc EXE.

0

tệp cấu hình cài đặt ứng dụng, tệp ini (nini), cơ sở dữ liệu nhúng (sqlite, berkelydb/etc ..), bất kỳ phương thức nào bạn thích, tùy thuộc vào kích thước và thiết kế của ứng dụng.

7

Tôi không chắc chắn phiên bản của.net/Visual Studio nó đã được giới thiệu, nhưng bạn có thể kích chuột phải vào dự án của bạn, chọn 'Add New Item' và chọn 'Settings File' từ cửa sổ "Add New Item". Điều này cung cấp dự án của bạn với một (đặt tên theo mặc định) Settings.settings tập tin mà bạn có thể cấu hình tất cả các cài đặt bạn muốn để lộ trong.

Bạn có thể xác định cài đặt mà bạn tạo được một trong hai Application hoặc tài có nghĩa là bạn có thể sử dụng giao diện duy nhất này để kiểm soát cài đặt toàn cầu và người dùng. Một khi bạn đã tạo một thiết lập trong file Settings.settings bằng cách sử dụng trình soạn thảo Visual Studio cung cấp, bạn có thể truy cập vào nó trong mã như thế này:

// Get a Setting value 
var valueOfSetting1 = Settings1.Default.Setting1; 

// Modify and save a Setting value 
Settings1.Default.Setting1 = "New Value"; 
Settings1.Default.Save(); 
0

Như với các câu trả lời trên đề nghị, app.config hoặc trang web .config là nơi tốt nhất cho cài đặt ứng dụng. Nếu bạn cần một cách mạnh mẽ hơn các thẻ kiểu xml cho cơ sở dữ liệu, cài đặt máy chủ và các mục tương tự, bạn có thể sử dụng configurationSection và tạo các phần tùy chỉnh.

http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx

Đối với mật khẩu cơ sở dữ liệu, cách tôi làm điều đó là có một chuỗi được mã hóa trong giá trị thẻ xml và giải mã sau đó khi đọc chúng, như vậy bạn không tiếp xúc với các mật khẩu.

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