Một vài câu hỏi rất cơ bản. Tôi mới tham gia WCF và tôi đang xây dựng một ứng dụng có Dự án dịch vụ, Dự án ứng dụng web và một vài dự án thư viện lớp mà tôi sử dụng cho logic nghiệp vụ, v.v.Thêm dịch vụ WCF Tham khảo nhiều dự án
Tôi đang lưu trữ WCF cục bộ trên IIS của mình và cố gắng thêm các tham chiếu dịch vụ vào các dự án.
Câu hỏi 1. Khi thêm tài liệu tham khảo, tôi có nên thêm tham chiếu dịch vụ vào từng dự án riêng biệt hay không? Có cách nào tôi có thể chia sẻ cùng một tham chiếu Dịch vụ trên các dự án không? Lý do tôi hỏi là vì nếu tôi thêm các tham chiếu riêng biệt, mỗi tham chiếu sẽ có không gian tên riêng và khi tôi phải truyền cùng một đối tượng giữa các dự án, tôi nhận được một InvalidCastException vì mỗi ServiceClient có một không gian tên khác nhau.
Ví dụ -.. Site.Business.XDataService.XDataServiceClient() GetItem() là không giống như Site.Web.XDataService.XDataServiceClient() GetItem()
Câu hỏi 2. tôi đã chỉ định địa chỉ của dịch vụ địa phương trong lớp mà thực hiện các giao diện dịch vụ như sau -
[ServiceBehavior (Namespace = "http: // localhost: 801/XDataService.svc", IncludeExceptionDetailInFaul ts = true)]
Điều này có vẻ không đúng. Nếu tôi chuyển mã của mình sang môi trường sống/khác, tôi rõ ràng sẽ phải thay đổi phần này một lần nữa và biên dịch lại. Tôi có thể chỉ định điều này (Web.Config?) Để tôi có thể thay đổi địa chỉ này mà không phải xây dựng lại ứng dụng của mình ở đâu?
Đánh giá cao mọi loại thông tin chi tiết. Cảm ơn!
Cảm ơn bạn đã giải thích. Nhưng nếu dự án WCF cũng nằm trong cùng một ứng dụng, bạn sẽ khuyên tôi tạo hai dự án, một máy chủ là nơi lưu trữ tất cả các mã và một dịch vụ khác mà tôi đang sử dụng làm tài liệu tham khảo cho các dự án khác ? – Kalyan
Có, hai dự án và có một Khách hàng dịch vụ mà bạn tham khảo trong các dự án khác của bạn – Murph