Tôi sử dụng ArcObjects và đã sử dụng phương pháp thử / bắt mà bạn đã đề cập.
Trong trường hợp của tôi, nhiều người dùng cần đọc và ghi dữ liệu trong cùng một lớp tính năng trong cơ sở dữ liệu địa lý. Tôi có một "màn hình tải" xuất hiện và cho người dùng biết rằng dữ liệu đang được sử dụng và sau đó một vòng lặp cứ thử vài giây trong nền cho đến khi có thể tạo khóa cho họ.
Một cách khác tôi đã sử dụng ổ khóa được mô tả dưới đây. Tôi biết việc tôi sử dụng phương pháp này để xem các tệp khóa khác với những gì bạn muốn làm nhưng khái niệm này giống nhau và bạn có thể sử dụng một cái gì đó tương tự nếu bạn cần xác định loại khóa hoặc khóa thuộc về ai . Đây là thông tin nếu bạn quan tâm.
Vì bạn có thể xem các tệp khóa cụ thể, chúng thuộc về ai, chúng thuộc loại khóa nào, v.v. nếu bạn xem bên trong cơ sở dữ liệu địa lý trong Windows Explorer là để tạo một ứng dụng "trạng thái" độc lập theo dõi các tệp khóa cụ thể lớp tính năng tất cả chúng ta sử dụng.
Sử dụng phương pháp này tôi có thể thấy trong thời gian thực từ bảng điều khiển dễ đọc, người đã khóa lớp tính năng đó (dựa trên tên máy tính) và loại khóa họ có. Ví dụ: nếu nó thấy khóa "sr" (lược đồ) tôi biết họ có lớp tính năng được thêm vào Mục lục của họ, khóa "nd" có nghĩa là họ đang đọc từ lớp đối tượng, khóa "wr" có nghĩa là họ đang viết dữ liệu và khóa "ed" có nghĩa là họ có phiên chỉnh sửa mở trên lớp tính năng.
Điều này rất hữu ích khi thực hiện bảo trì để có thể nhìn xuống và đảm bảo rằng nó sẽ không có ảnh hưởng tiêu cực đến bất cứ ai. Mục "Không xác định" cũng thông báo cho tôi khi có ai đó bất ngờ đang sử dụng lớp tính năng và tôi có thể điều tra thêm.
Đây là một ảnh chụp màn hình của bảng điều khiển tôi sử dụng.