Có thể ai đó chi tiết hoặc chỉ cho tôi một số thông tin về vai trò chính xác mà DFSVC.EXE phát trong chu kỳ thực thi của một ứng dụng ClickOnce không? Nếu tôi khởi chạy ứng dụng ClickOnce qua:ClickOnce runtime DFSVC.EXE
rundll32.exe dfshim.dll,ShOpenVerbApplication http://www.domain.com/application/?param1=foo
Tôi thấy rằng quá trình DFSVC.EXE được bắt đầu. Sau đó tôi thấy rằng quá trình EXE thực tế của ứng dụng ClickOnce của tôi được gọi (bởi DFSVC.EXE, được liệt kê dưới dạng tiến trình cha trong ProcessExplorer). Tại thời điểm này, tôi có thể giết DFSVC.EXE qua:
rundll32.exe dfshim.dll,KillService
và ứng dụng ClickOnce của tôi tiếp tục chạy. Tôi cũng nhận thấy rằng nếu tôi không giết DFSVC.EXE, nó sẽ tự biến mất sau khoảng 15 phút.
Tôi nghi ngờ rằng DFSVC.EXE chịu trách nhiệm tải xuống, cài đặt và khởi chạy ứng dụng - điều này có đúng không? Có cách nào để yêu cầu DFSVC.EXE tự động tắt sau khi các tác vụ này hoàn tất cho một ứng dụng ClickOnce được gọi không? Là lý do nó là sự bền bỉ (ngay cả sau khi các ứng dụng ClickOnce được tắt) một tối ưu hóa cho các cuộc gọi tiếp theo của một ứng dụng ClickOnce?
Câu trả lời ngắn: Tôi tin rằng TẤT CẢ các dự đoán của bạn là chính xác. Nếu bạn xem trong Fiddler, bạn thấy rằng DFSVC thực hiện việc kiểm tra phiên bản/tệp kê khai phiên bản và đó là một mẫu rất phổ biến để giữ các loại dịch vụ này trong một khoảng thời gian như là một tối ưu hóa hoàn hảo. – EricLaw