Hiện tại chúng tôi có một ứng dụng .NET 4 bao gồm Dịch vụ Windows chạy trong nền và máy khách cục bộ hoặc từ xa (chỉ 1-3 bình thường).Lựa chọn tốt nhất cho máy chủ lưu trữ tự động mạnh mẽ: WCF so với ASP.NET Web Api
Máy khách có giao diện WPF và cần một số dữ liệu từ dịch vụ windows. Vì vậy, chúng tôi sử dụng WCF với NamedPipe ràng buộc cho một khách hàng địa phương và NetTcp ràng buộc cho khách hàng từ xa. Tính năng này hoạt động nhưng chúng tôi thường gặp sự cố với điểm cuối không thể truy cập được (kênh bị lỗi hoặc không tìm thấy, v.v.). Chúng tôi đã cố gắng xây dựng lại các kết nối bị lỗi nhưng dường như khá dễ vỡ ...
Bây giờ hãy nhập Api Web: Dường như một ngăn xếp dựa trên HTTP có thể mạnh hơn (không có kênh, không có điểm cuối, có thể tự lưu trữ trong cửa sổ dịch vụ là tốt). Có vẻ như không có vấn đề gì với các kênh bị hỏng vì mỗi yêu cầu được xử lý riêng lẻ. Vì vậy, nếu một cái gì đó không thành công, bạn chỉ cần lặp lại yêu cầu. (Và chúng tôi có kinh nghiệm với ASP.NET MVC từ các ứng dụng khác, vì vậy điều này không mới đối với chúng tôi).
Bây giờ, chúng tôi đang nghĩ điều gì có thể là đặt cược tốt nhất của chúng tôi. Tốt hơn là "làm cứng" dịch vụ WCF hiện có của chúng tôi (một giao diện dịch vụ với khoảng 15 hoạt động) hoặc để chuyển giao diện Web Api và chạy nó như các yêu cầu HTTP (với dữ liệu JSON)? Hiệu suất không phải là vấn đề chính của chúng tôi ở đây ...
Bất kỳ ý tưởng nào? Hartmut
Bạn có muốn cập nhật cho chúng tôi nếu vẫn tự lưu trữ WebAPI là lựa chọn tốt hơn so với WCF Tự lưu trữ. –