2009-09-10 29 views
6

Tôi có dịch vụ WCF cần thông báo cho khách hàng khi có thay đổi xảy ra với cơ sở dữ liệu (sql server 2005). Điều này tương đối dễ thực hiện, miễn là tôi tìm cách thông báo cho dịch vụ của bất kỳ thay đổi nào. Tôi có thể có thể tạo ra một kích hoạt cơ sở dữ liệu trên một bảng và có kích hoạt bắt đầu một khách hàng dịch vụ nhỏ thông báo cho dịch vụ của tôi, nhưng tôi tự hỏi nếu có một cách tốt hơn để làm điều này? Nó sẽ là một giải pháp khả thi để có dịch vụ thăm dò ý kiến ​​cơ sở dữ liệu cho những thay đổi, nhưng tôi không chắc chắn về cách tốt nhất để làm điều đó (và gửi một thông báo đến dịch vụ của tôi sẽ được ưa thích).Thông báo cho dịch vụ WCF của tôi khi cơ sở dữ liệu của tôi được cập nhật

Khi các bản cập nhật liên quan chỉ áp dụng cho một phần nhất định của cơ sở dữ liệu, tôi cũng tự hỏi liệu nó có thể liên kết trình kích hoạt (hoặc cơ chế khác) với sơ đồ cơ sở dữ liệu hay không.

Tất cả trợ giúp đều được đánh giá cao! rinze

Trả lời

6

Nếu cơ sở dữ liệu của bạn là SQL Server 2005 trở lên, bạn có thể thử giải pháp này: Remove pooling for data changes from a WCF front end.

Lưu ý phụ, không bao giờ gọi các quy trình bên ngoài từ trình kích hoạt, không thực hiện cuộc gọi web từ trình kích hoạt. Là một công thức đảm bảo cho thảm họa.

Cập nhật

Đối với những người quan tâm trong quá trình trộn Query Notifications với LINQ to SQL Tôi khuyên bạn nên Using SQLDependency objects with LINQ.

+0

OK, blog này không (gần như) chính xác những gì tôi đang làm ở đây. Khi tôi đang sử dụng LINQ to SQL, nó hơi đơn giản hơn một chút, nhưng không phải là một vấn đề. Bạn có biết nếu nó có thể thêm một phụ thuộc vào một sơ đồ cơ sở dữ liệu (hoặc một khung nhìn, để mô phỏng nó)? Thanx cho liên kết! – Syg

+0

Tôi chưa từng nghĩ đến việc sử dụng LINQ và SqlDependency kết hợp. Tôi sẽ xem làm thế nào điều này có thể đạt được và đăng lại. –

+0

Xem cập nhật của tôi, Ryan Dunn đã viết blog về SqlDependency và Linq2sql. –

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