Tôi đang xây dựng một bộ các dịch vụ WCF chia sẻ các hợp đồng dữ liệu chung (hoặc các thực thể nếu bạn thích). Đây là những đối tượng chuyển dữ liệu đơn giản được trang trí với các thuộc tính DataContract và DataMember. Tôi chỉ định rõ tên và không gian tên. Trong cố gắng tuân theo các nguyên tắc của khuyến cáo của IDesign về trung bình 12 thành viên cho mỗi hợp đồng dịch vụ, tôi đang phá vỡ dự án dịch vụ của tôi thành nhiều dịch vụ.Nhiều dịch vụ WCF tham chiếu cùng một hợp đồng dữ liệu
Hợp đồng dữ liệu của tôi nằm trong một hội đồng riêng biệt mà tôi có thể cung cấp cho khách hàng của mình nếu họ đang sử dụng .Net. Họ có thể cho biết tài liệu tham khảo dịch vụ của họ để sử dụng lại các loại trong hội đồng tham chiếu. Tuy nhiên, nếu họ không sử dụng .net và họ sử dụng 2 dịch vụ mà cả hai đều sử dụng cùng một thực thể thì họ sẽ, tôi giả sử, nhận được một thông điệp tham khảo mơ hồ. Tôi có thể thấy điều này trong Visual Studio nếu tôi không tham khảo dll hợp đồng dữ liệu.
Câu hỏi của tôi là, có bất kỳ điều gì tôi có thể làm trong các dịch vụ của mình không, hoặc họ có thể làm trong ứng dụng khách để tránh phải hội đủ điều kiện hợp đồng dữ liệu đến từ đâu?
Tôi gặp vấn đề tương tự. Tôi đã cố gắng sử dụng lời khuyên trong bài viết dưới đây, nhưng không có niềm vui. Tuy nhiên, tôi đang sử dụng các dịch vụ WCF RESTful (điều này có thể có liên quan đến phương thức bên dưới không hoạt động), vì vậy tôi đã chỉ tham chiếu một DLL thông thường có chứa các hợp đồng dữ liệu của tôi. Vì tôi gọi các dịch vụ của mình bằng cách sử dụng các yêu cầu web HTTP đơn giản, tôi không thực sự cần các tham chiếu dịch vụ trong dự án. – Nick