Tôi xin lỗi nếu tôi đang thúc đẩy điều hiển nhiên; Tôi chưa từng thấy ai đi sâu vào nó.
Hạn chế công việc hẹn giờ tùy chỉnh (nghĩa là, lớp công việc hẹn giờ của riêng bạn có nguồn gốc từ SPJobDefinition) được thực hiện bằng cách kiểm soát các tham số của hàm tạo.
Công việc hẹn giờ thường chạy trên máy chủ nơi chúng được gửi (như được chỉ định bởi vinny) giả sử không có máy chủ mục tiêu nào được chỉ định trong khi tạo công việc hẹn giờ. Tuy nhiên, hai hàm khởi tạo quá tải cho kiểu SPJobDefinition, chấp nhận một SPServer và một SPJobLockType làm tham số thứ ba và thứ tư, tương ứng. Sử dụng hai tham số này đúng cách sẽ cho phép bạn ra lệnh nơi công việc của bạn chạy.
Bằng cách chỉ định máy chủ mục tiêu của bạn làm SPServer và SPJobLockType của "Công việc", bạn có thể hạn chế trường hợp công việc hẹn giờ bạn tạo để chạy trên máy chủ bạn chọn.
Để biết tài liệu về những gì tôi đã mô tả, hãy xem MSDN: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spjobdefinition.spjobdefinition.aspx.
Tôi không biết gì về mã bạn đang chạy, nhưng công việc hẹn giờ tùy chỉnh thường được thiết lập trong khi kích hoạt tính năng. Tôi có cảm giác rằng codebase của bạn có thể không phải là của riêng bạn (?); nếu có, bạn có thể muốn tìm một hoặc nhiều loại/lớp có nguồn gốc từ SPFeatureReceiver. Trong phương thức FeatureActivated của các lớp như vậy là nơi bạn có thể tìm thấy mã thực sự thực hiện instantiation job timer.
Tất nhiên, bạn cũng sẽ muốn xem lớp công việc của bộ đếm giờ tùy chỉnh (hoặc các lớp) để xem cách chúng được khởi tạo như thế nào. Đôi khi, các nhà phát triển sẽ xây dựng sự khởi tạo của lớp vào chính lớp đó (ví dụ, thông qua mẫu Phương thức Factory).Tuy nhiên, giữa lớp công việc hẹn giờ và triển khai SPFeatureReceiver, bạn nên trên đường tìm kiếm những gì cần thay đổi.
Tôi hy vọng điều đó sẽ hữu ích!
Nguồn
2009-06-24 16:55:26
Cảm ơn, đó là chính xác những gì tôi đang tìm kiếm. – James
+1 Thông tin tốt, tôi không biết điều này là có thể. –