CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 382

382
Chương 9: File, thư mục, và I/O

}

18.

18.

S d ng không gian l u tr riêng

ử ụ

ư ữ

S d ng không gian l u tr riêng

ử ụ

ư ữ

Bạn cần lưu dữ liệu vào file, nhưng ứng dụng của bạn không được cấp

FileIOPermission

để sử dụng ổ đĩa cứng.

Sử dụng các lớp

IsolatedStorageFile

IsolatedStorageFileStream

thuộc không

gian tên

System.IO.IsolatedStorage

. Các lớp này cho phép ứng dụng ghi dữ liệu

vào một file trong thư mục của một người dùng cụ thể mà không cần được cấp
phép truy xuất trực tiếp ổ đĩa cứng cục bộ.

.NET Framework hỗ trợ không gian lưu trữ riêng, tức là cho phép bạn đọc và ghi vào hệ thống
file ảo của người dùng cụ thể mà CLR quản lý. Khi bạn tạo các file lưu trữ riêng, dữ liệu tự
động được lưu vào một nơi duy nhất trong đường dẫn profile của người dùng (thông thường
đường dẫn này có dạng C:\Documents and Settings\[username]\Local Settings\Application
Data\IsolatedStorage\ [guid_identifier]
).
Một lý do để sử dụng không gian lưu trữ riêng là trao cho một ứng dụng có-độ-tin cậy-một-
phần có khả năng hạn chế khi lưu trữ dữ liệu (xem mục 13.1 để có thêm thông tin về mã lệnh
có-độ-tin-cậy-một-phần). Ví dụ, chính sách bảo mật CLR mặc định cấp cho mã lệnh cục bộ có

FileIOPermission

không hạn chế, tức là có quyền đọc và ghi bất kỳ file nào. Mã lệnh thực thi

từ một máy chủ ở xa trên mạng Intranet cục bộ tự động được cấp ít quyền hơn—thiếu mất

FileIOPermission

, nhưng có

IsolatedStoragePermission

, tức là có khả năng sử dụng không

gian lưu trữ riêng (chính sách bảo mật cũng hạn chế dung lượng tối đa có thể được sử dụng
trong không gian lưu trữ riêng). Một lý do khác để sử dụng không gian lưu trữ riêng là bảo vệ
dữ liệu tốt hơn. Ví dụ, đối với dữ liệu trong không gian lưu trữ riêng của một người dùng,
những người dùng khác không phải là nhà quản trị sẽ không được quyền truy xuất.
Đoạn mã dưới đây minh họa cách truy xuất không gian lưu trữ riêng:

using System;

using System.IO;

using System.IO.IsolatedStorage;

public class IsolatedStoreTest {

private static void Main() {

// Tạo không gian lưu trữ riêng cho người dùng hiện hành.

IsolatedStorageFile store =

IsolatedStorageFile.GetUserStoreForAssembly();

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.