tôi có hai dịch vụ web. Một với chức năng người dùng, một với chức năng quản trị.Sự cố với WCF và nhiều không gian tên - các loại đối tượng chia sẻ trên nhiều tài liệu tham khảo dịch vụ
Cả hai dịch vụ một cách hiệu quả làm việc với các loại cùng một đối tượng, ví dụ:
- AdminService cung cấp chức năng xóa/sửa đổi các đối tượng khách hàng
- UserService cung cấp chức năng niêm yết/đọc khách hàng đối tượng
Bây giờ trong khách hàng tôi có hai tài liệu tham khảo dịch vụ, Webservices.Admin và Webservices.User.
Nếu tôi sử dụng UserService để truy xuất đối tượng khách hàng, tôi không thể thao tác những người đó thông qua AdminService, vì UserService truy xuất đối tượng kiểu Webservices.User.Customer, tuy nhiên AdminService hoạt động với các đối tượng kiểu Webservices.Admin.Customer.
Ở phía máy chủ, cả hai loại đều giống nhau, chỉ thuộc về các không gian tên khác nhau trong ứng dụng khách.
Bây giờ câu hỏi: Làm cách nào để chia sẻ các loại trên các tham chiếu dịch vụ khác nhau?
Có tôi kiểm soát mọi thứ. Tuy nhiên khách hàng là silverlight, vì vậy chia sẻ hợp đồng lắp ráp là không thể (bởi vì các datacontracts của tôi đến từ Entity Framework). Nếu khách hàng là bất kỳ khách hàng wcf nào khác ngoại trừ Silverlight, thì nó hoạt động. –
OK, Silverlight là một điểm quan trọng cần được đề cập ngay từ đầu. Nhưng bạn vẫn có thể tạo một assembly Silverlight chứa một kiểu serialize cho cùng cấu trúc với Customer từ EF của bạn, gắn nó vào một assembly riêng biệt, và tham chiếu đến assembly chung từ bất kỳ bộ phận nào của client. –
@marc_s Marc, tôi đang gặp vấn đề tương tự đang được mô tả ở trên, tuy nhiên tôi muốn biết làm thế nào tôi sẽ đi về serializing Silverlight hội để có cấu trúc tương tự như các.NET lắp ráp? Tôi tạo ra một hội đồng SL với các lớp học chính xác cùng trong nó trên khách hàng Silverlight của tôi nhưng điều đó dường như không hoạt động, vì vậy tôi đoán tôi đang làm sai. – stuartmclark