Chúng tôi muốn có một số hành động định kỳ được thực hiện bởi dịch vụ WCF của chúng tôi được lưu trữ trong IIS. Cách tốt nhất để làm việc này là gì? Việc tạo bộ hẹn giờ không phải là giải pháp tốt. Việc tạo ra một dịch vụ cửa sổ hoạt động như một loại nhịp tim trông giống như một giải pháp vấn đề, nhưng nó vẫn không có mùi tốt. Cách tiếp cận nào sẽ là một giải pháp tốt cho vấn đề này?Nhiệm vụ định kỳ bên trong dịch vụ WCF được lưu trữ trong IIS
Trả lời
Điều đó tùy thuộc vào hành động của bạn đang cố gắng thực hiện. Nếu đó là hành động làm sạch liên quan đến cơ sở dữ liệu, ví dụ: xóa các giỏ hàng mồ côi, bạn có thể lên kế hoạch cho một công việc cho điều này trong cơ sở dữ liệu của bạn lựa chọn, giống như công cụ làm việc rất đáng tin cậy của SQL Server. Một dịch vụ Windows sẽ là một ứng cử viên tuyệt vời nếu nó là một hành động dựa trên hệ điều hành như làm sạch/xóa định kỳ các tệp vv. Vì một dịch vụ IIS/WCF thường được thiết kế nhiều hơn để xử lý các phản hồi bên ngoài, tôi không nghĩ rằng nó sẽ sai các lớp dịch vụ của hệ điều hành hoặc DB cho nhiệm vụ của bạn.
Tôi đã từng chạy vào các tác vụ như thế này trong các ngày PHP của mình, khi tôi muốn lên lịch gửi email vào một thời điểm nhất định. Sau nhiều tháng mày mò (chủ yếu là cố gắng xử lý các cuộc gọi đến một trang có thể không bao giờ đến), cuối cùng tôi đã đi đến kết luận rằng một bit mã không quốc tịch cơ bản không phải là nơi để làm điều đó, và lên lịch một công việc cron để kích hoạt từng đêm.
Tôi chắc chắn khuyên bạn nên đi xuống tuyến đường của một công việc được kích hoạt bên ngoài (trong SQL, dịch vụ cửa sổ, v.v ...) và xử lý các hoạt động của bạn từ đó. Cơn đau, như tôi biết với chi phí của tôi, không đáng để trả lại.
Tôi đã vật lộn với điều này, và trong một số trường hợp cần dọn dẹp, chỉ cần thực hiện tác vụ không đồng bộ (nền) ở mặt sau của một chức năng chung để làm sạch giai đoạn, tức là On GetCommonList(), Tôi làm một kiểm tra trong cài đặt/appsetting cho lastrun và sau đó kick nó đi một lần một ngày hoặc mỗi 5 phút, vv Bằng cách đó, nếu ứng dụng đi đến đồng cỏ xanh hơn (mà không xảy ra), tôi không cần phải lo lắng về bất kỳ nhiệm vụ kéo dài nào đang chạy ở đâu đó. Không hoạt động trong mọi trường hợp, nhưng bảo mật, v.v. cũng được tự động xử lý - trong khi các dịch vụ, v.v. bạn vẫn có thể gặp vấn đề với điều đó. Chỉ cần 2c của tôi.
- 1. URL WSDL cho Dịch vụ WCF (basicHttpBinding) được lưu trữ bên trong Dịch vụ Windows
- 2. Đường dẫn tương đối trong dịch vụ WCF được lưu trữ trong IIS
- 3. Vòng đời của dịch vụ WCF được lưu trữ trong IIS
- 4. Dịch vụ WCF được lưu trữ trong IIS với ràng buộc net.msmq tạo ra sự cố
- 5. Tôi có nên lưu trữ dịch vụ WCF của mình trong IIS không?
- 6. Vòng đời của dịch vụ WCF được lưu trữ trên IIS (http) là gì?
- 7. Dịch vụ WCF tự lưu trữ trong Mono
- 8. Dịch vụ lưu trữ tự WCF - Điểm cuối trong C#
- 9. lưu trữ .net 4.0 REST WCF dịch vụ trong IIS 6
- 10. Lưu trữ nhiều hợp đồng trong một dịch vụ WCF
- 11. nhiệm vụ định kỳ đường ray
- 12. Tên phương thức dịch vụ WCF trong Nhật ký IIS
- 13. Lưu trữ dịch vụ WCF với ràng buộc net.tcp thông qua Trình quản lý IIS 7.5
- 14. Lưu trữ một dịch vụ WCF từ bên trong máy chủ Apache?
- 15. Dịch vụ Windows đã lưu trữ WCF qua HTTPS
- 16. Tôi có thể lưu trữ (tự lưu trữ) một Dịch vụ WCF trong Dịch vụ Windows và hiển thị nó qua http không?
- 17. Máy chủ lưu trữ dịch vụ WCF không thể tìm thấy bất kỳ siêu dữ liệu dịch vụ nào
- 18. MSMQ hỗ trợ dịch vụ WCF được lưu trữ trong dịch vụ windows không thành công khi khởi động
- 19. Không thể kết nối với dịch vụ wcf từ IIS
- 20. Tùy chọn chấp nhận chứng chỉ ứng dụng khách trong dịch vụ WCF tự lưu trữ
- 21. Sử dụng Autofac cho DI vào dịch vụ WCF được lưu trữ trong ứng dụng ASP.NET
- 22. Làm thế nào để lưu trữ dịch vụ WCF của tôi trong trang web của tôi?
- 23. Làm thế nào đắt tiền ??? - Dịch vụ WCF được lưu trữ?
- 24. Dịch vụ WCF và Dịch vụ Windows
- 25. Giữ một dịch vụ WCF còn sống dưới IIS
- 26. Override trong dịch vụ WCF
- 27. Làm cách nào để bắt đầu quá trình từ dịch vụ WCF được lưu trữ trên IIS?
- 28. Chuyển thông tin đăng nhập từ một dịch vụ wcf sang một dịch vụ wcf khác
- 29. Làm thế nào để tiêu thụ không được lưu trữ trên IIS, WCF, dịch vụ web C# từ Delphi 2007?
- 30. Không thể phục vụ các dịch vụ WCF trong IIS trên Windows 8
Để làm rõ điều này một chút. Nó không phải là một nhiệm vụ bảo trì, mà là một nhiệm vụ cần được thực hiện một lần mỗi giờ để kiểm tra xem nó có một số đăng ký để chấm dứt, một số email để gửi và loại nội dung đó không. –