thắc mắc Hỏi đáp về WebSocket trong .NET 8

hoangdinhvinhvinh

Junior Member
Hí mọi người,
Chuyện là em có đang tự code 1 con web app dạng Instargram clone. Em dùng C# .NET 8 với Angular 17
Đến phần realtime tin nhắn, thì em dùng websocket middleware, cho các kết nối vào Connection Manager(cái này em để singleton)

Khi người dùng gửi tin nhắn, em nghĩ ra 2 hướng code là:
  • Qua kết nối websocket-> websocketgọi services insert vào database -> Gửi message về cho client
  • Qua API -> Insert vào database (xong)-> Gửi message bằng Connection Manager inject vào minimal endpoint -> Angular subscribe websocket subject

Và mình có cần phải tạo nhiều ws handler cho từng feature 1 không ạ(ví dụ: message, notification, user online,...), hay là chỉ cần 1 ws xử lí global kiểu như target trong signalR ấy ạ.

Mong mọi người chỉ giáo thêm cho em ạ! Em cảm ơn mn nhiều lém.
 
Thường thì khi client access FE => add client id => channel => lưu tin nhắn => send tới các clients và channel tương ứng khi thành công lưu database

Đã xài Net 8 thì xài luôn signalR cho đồng bộ
 
Thường thì khi client access FE => add client id => channel => lưu tin nhắn => send tới các clients và channel tương ứng khi thành công lưu database

Đã xài Net 8 thì xài luôn signalR cho đồng bộ
Em cũng có từng dùng SignalR nhưng khi code kiểu build từ base middleware lên em thấy dễ hiểu bản chất hơn
 
Em cũng có từng dùng SignalR nhưng khi code kiểu build từ base middleware lên em thấy dễ hiểu bản chất hơn
Để mình ví dụ cho thím:

Middleware => thường 1 call sẽ có request và response, middleware nằm giữa, xử lý những tác vụ chung cho những hành động từ khi bắt đầu request cho tới khi trả về response

Realtime (signalr...) => đảm nhiệm hành động khác, dễ hiểu nhất là giữ communication giữa client và server

Tùy vào cấu trúc thím code backend ra sao mà chọn xử lý ở middleware, hoặc tách ra thành một function riêng

Cá nhân mình thì tách ra rõ ràng hơn, do nó đảm nhiệm hành động khác, về sau thêm feature hay custom cũng dễ, như viết custom attribute cho signalR, cần xài ở method nào thì gắn riêng cho nó .v.v.
 
Back
Top