2011-12-19 11 views
6

Tôi đang sử dụng ClickOnce để triển khai một ứng dụng C#. Nó chỉ có sẵn trực tuyến, vì vậy tôi không thể vô hiệu hóa ứng dụng để kiểm tra cập nhật mỗi khi nó bắt đầu.Cách tăng tốc cửa sổ "Xác minh Yêu cầu Ứng dụng"?

Mỗi khi được khởi chạy từ url, bạn sẽ thấy cửa sổ "xác minh yêu cầu ứng dụng". Điều này là tốt. Tuy nhiên, thời gian cần thiết cho cửa sổ này biến mất rất nhiều. Đôi khi nó là ngay lập tức, đôi khi phải mất một vài giây. Bất cứ ai biết tại sao đây là trường hợp và làm thế nào để tăng tốc quá trình xác minh này?

Tôi đang sử dụng process p = Runtime.getRuntime().exec("explorer myURL") để khởi chạy ứng dụng. Tôi không biết nếu nó quan trọng hay là có cách nào tốt hơn? (Tôi đang khởi chạy ứng dụng này từ một ứng dụng Java)

Trả lời

1

Có một vài lý do khiến quá trình này có thể mất vài giây để thực thi. Đầu tiên là nếu máy chủ ClickOnce của bạn bận, có thể mất nửa giây hoặc lâu hơn để đáp ứng yêu cầu cho tệp .application.

Ngoài ra, tệp .application phải được phân tích cú pháp và kiểm tra bằng phần mềm Microsoft Installer. Nếu ứng dụng Microsoft Installer không được nạp vào bộ nhớ, máy tính của bạn sẽ cần phải khởi động ứng dụng đó và chuyển vào tệp .application. Điều này cũng có thể mất một hoặc hai giây.

Cuối cùng, nếu tất cả được cập nhật, ứng dụng sẽ được thực hiện. Việc này có thể mất một hoặc hai giây. Mỗi bước có thể khá ngắn, nhưng nếu bạn đang hoạt động trong trường hợp "trường hợp xấu nhất" cho mỗi bước, ứng dụng có thể mất 6-10 giây để bắt đầu. Thậm chí có thể chậm hơn nếu máy chủ ứng dụng ClickOnce vô cùng bận rộn.

Đây không phải là giải pháp nhưng tôi khá tự tin rằng câu trả lời là bạn không thể tăng tốc quá trình này. Khả năng tốt nhất là để chắc chắn rằng máy chủ web ClickOnce của bạn đang ở trên một kết nối dữ liệu nhanh chóng và kết nối internet máy tính của bạn là đáng tin cậy và trên một kết nối nhanh là tốt.

+0

cảm ơn RLH. Tôi sẽ đánh dấu câu trả lời này là đã trả lời – neo