2011-01-12 16 views
12

Tôi đang tìm cách hiểu rõ hơn lý do tại sao bạn nên không bao giờ Xuất bản() thư từ một trang web sử dụng NServiceBus (NServiceBus Documentation, cuộn khoảng hai phần ba cách xuống).NServiceBus Xuất bản() so với Gửi() trong ngữ cảnh trang web

Không có ý nghĩa ngữ nghĩa đối với các sự kiện Publish() và gửi đến Send()? Nếu vậy, tôi nghĩ có nghĩa là một ứng dụng web có thể cả Xuất bản() và Gửi() :-)

Ngoài ra, cho rằng việc sử dụng Publish() không yêu cầu ứng dụng web biết về người nhận Các thông báo (Send() yêu cầu ứng dụng web có tất cả các thiết bị đầu cuối được cấu hình), có vẻ như Publish() là một lựa chọn tốt hơn cho nhiều kịch bản để bạn có thể 'tự ý' đăng ký các ứng dụng vào hàng đợi tin nhắn.

Có ai có cảm xúc mạnh mẽ về vấn đề này hay không? Tôi rất muốn nghe suy nghĩ và ý kiến ​​của bạn.

Trả lời

18

Tuyên bố từ chối trách nhiệm: Tôi đã viết bài đăng trên blog này.

Why not publish NServiceBus messages from a web application?

+0

cảm ơn liên kết blog. một lý do khác tại sao bạn không muốn xuất bản một tin nhắn từ một trang web là vì nó sẽ cần phải có một thuê bao. thông thường đây sẽ là một cơ sở dữ liệu. –

+0

Cảm ơn bạn David. Bài đăng trên blog của bạn cung cấp câu trả lời thực sự toàn diện cho câu hỏi của tôi. Tôi đang xây dựng một ứng dụng web mà không hoàn toàn 'câm' như bạn đã mô tả - nhưng nó rất gần. Tôi mới sử dụng NServiceBus (hiển nhiên) nên tôi sẽ chậm chạp, nhưng tôi sẽ đưa ra lời khuyên rằng tôi nên sử dụng Bus.Send() vì những gì tôi đang cố gắng đạt được là có được một thời gian dài quá trình khởi động. Sau đó, tôi hy vọng có thể làm cho phần còn lại của ứng dụng web 'dumber' bằng cách giới thiệu NServiceBus ở tất cả các ranh giới lệnh của tôi. Cảm ơn! –

+0

David, tôi đã đăng một câu hỏi khác có liên quan ở đây: http://stackoverflow.com/questions/4678721/nservicebus-nhibernate-and-guidcomb. Bạn có phiền khi xem cái này nếu bạn có một phút không? Rất cám ơn, Øyvind –

Các vấn đề liên quan