Tôi có một dự án mà bây giờ tôi đã thiết lập với BreezeJS. Không biết những gì xảy ra bên trong BreezeJS với phạm vi đầy đủ, nhưng chỉ chấp nhận rằng nó hoạt động, tôi có các mục của tôi hiển thị trên màn hình cơ bản từ lệnh đơn giản này.SignalR kết hợp với Breeze
export function getProjects(projectsObservable, errorObservable)
{
return breeze.EntityQuery.from("Projects")
.using(manager).execute()...then/fail.
}
Bây giờ tôi muốn làm cho nó đáp ứng với người dùng chỉnh sửa cùng một mục với signalR. Điều này có nghĩa là tôi tại thời điểm này có callbacks được bắn vào cuối javascript nói rằng đối tượng với guid = xxxxxxx đã thay đổi (guid là chìa khóa).
Làm cách nào tôi có thể nhấn vào Breeze cập nhật mục mà không cần truy vấn lại máy chủ, cũng không xem nó như là bản cập nhật cần được gửi lại cho máy chủ. Remmeber rằng tôi chỉ nhận được cập nhật từ tín hiệu r.
Nếu tôi đã thực hiện một con đường khác ở nơi đầu tiên, có lý do nào để tạo WebApi nếu tôi chỉ có thể trả lại dữ liệu từ trung tâm signalR lúc đầu không? Nó sẽ được dễ dàng để thiết lập này với Breeze thay vì WebApi?
Thứ nhất, nó sẽ đơn giản và phát triển nhanh chóng. Chỉ cần móc nó lên từ signalr để đẩy dữ liệu.Nhưng bạn hoàn toàn đúng, rằng nó có thể tốt hơn để cho khách hàng quyết định khi nào nhận được dữ liệu thực tế. Tôi sẽ nghĩ nhiều hơn một chút về nó và nếu tôi thay đổi ý nghĩ rằng ý tưởng đầu tiên của tôi tốt hơn bạn thì tôi sẽ cho bạn biết :) –
Tôi phải nói với sự gia tăng của CQRS quan điểm này không phải là quan điểm đúng đắn. Nếu tôi đang nhận được lệnh để máy chủ của tôi mà cuối cùng gửi cho tôi sự kiện/hoặc mô hình đọc đầy đủ thì signalr là một sự kiện async lớn và cơ chế phân phối đối tượng. – Damian
Trên thực tế đây sẽ là một tính năng tuyệt vời cho cùng một lý do thay đổi gió là - giảm thiểu số lượng roudrips cho máy chủ. Nếu bạn chỉ sử dụng tín hiệu cho các thông báo (không miễn phí), bạn vẫn cần tìm nạp tất cả các đối tượng đã thay đổi mà khách hàng quan tâm thông qua api/odata trên web và trong các trường hợp không cần thiết. những thay đổi trong một lần lượt mà không thể linh hoạt/chung chung. quan điểm của tôi là - nó sẽ được tốt đẹp để có một cách để (tùy chọn) tuyên truyền changesets không chỉ cho máy chủ, nhưng cho khách hàng đăng ký là tốt. –