Phiên bản WCF, đặt tên và URL điểm cuối


8

Tôi có Dịch vụ WCF và Lib1 chính.

Nói rằng, tôi có một dịch vụ lưu hồ sơ. WCF lấy dữ liệu (với hợp đồng dữ liệu được xác định trước) từ máy khách và chuyển tương tự đến Lớp chính Lib1, tạo phản hồi và gửi lại cho máy khách.

Phương pháp WCF: SaveProfile (hồ sơ ProfileDTO)

Phiên bản hiện tại 1.0 ProfileDTO có Mật khẩu tên người dùng DOB đầu tiên (Trong chuỗi yyyy-mm-dd) createdDate (Trong chuỗi yyyy-mm-dd)

Phiên bản tiếp theo (V2.0) ProfileDTO có mật khẩu tên người dùng sau Tên đầu tiên DOB (Trong UnixTimeStamp) createdDate (Trong UnixTimeStamp)

Phiên bản 3.0 ProfileDTO có các mục sau (Có thay đổi về xác thực độ dài tên người dùng và mật khẩu) Tên người dùng Mật khẩu FirstName DOB (Trong UnixTimeStamp) createdDate (Trong UnixTimeStamp)

Đơn giản, chúng ta có DataContract và Workflow thay đổi giữa mỗi phiên bản 1. Làm cách nào để đặt tên cho các phương thức trong Dịch vụ WCF và Lớp chính Lib1? 2. Tôi có phải đi với bất kỳ mẫu cụ thể nào để dễ dàng phát triển và bảo trì không? 3. Tôi có phải có điểm cuối khác nhau cho phiên bản khác nhau không?

Trong ví dụ trên tôi có một phương thức có tên là Save SaveProfile. Tôi có phải đặt tên cho các phương thức như không, Save SaveProfile1.0,, Save SaveProfile2.0, v.v. Tôi đang tìm kiếm một phương pháp sẽ giúp bảo trì dễ dàng



Một điều khác bạn nên xem xét là nâng cao khái niệm về cài đặt mặt trời phiên bản để bạn đặt kỳ vọng rõ ràng về thời gian một phiên bản sẽ có sẵn.
Kevin

Câu trả lời:


1

Có hai cách để có các phiên bản khác nhau của cùng một liên hệ. Đầu tiên là sử dụng các không gian tên và thứ hai để sử dụng các tên dịch vụ khác nhau . Cá nhân, tôi thích cách tiếp cận không gian tên khác nhau đơn giản vì nó gói gọn "phiên bản" với tiêu đề không gian tên và cho phép người gọi cụ thể về các yêu cầu hợp đồng của họ.

Tuy nhiên, việc tạo các phiên bản hợp đồng mới có nguy cơ phá vỡ tính tương thích ngược với những người gọi hiện có.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.