Nếu hợp đồng của tôi trông như sau:Làm cách nào để ngăn chặn tham số ngoài kết thúc tham số trả về trong dịch vụ web WCF?
[OperationContract]
void DoSomething(int id, out string moreInfo);
này kết thúc lên trông như:
string DoSomething(int id);
khi bạn nhập một tài liệu tham khảo dịch vụ web. Có thể ảnh hưởng đến việc tự động chuyển đổi thứ tự của các tham số không? Thật bất ngờ khi tìm ra tất cả các tham số ở đầu chữ ký hàm, nhưng vẫn còn khả thi, nhưng chúng tôi muốn các phương thức void để tiếp tục là các phương thức void. Hay đây là một hạn chế SOAP?
Trong trường hợp này, một phương thức void với một tham số 'out' duy nhất là một phương thức không có hiệu lực với giá trị trả về đúng. Điều gì định nghĩa một tham số 'out' cho bạn rằng phiên bản không xuất hiện không? –
@AdamHouldsworth trực giao trong thiết kế dịch vụ web. Ban đầu chúng tôi có các dịch vụ trả về một giá trị và những dịch vụ không có giá trị. Tuy nhiên, mỗi dịch vụ được tái cấu trúc để trả về trạng thái. Bằng cách buộc tham số phụ, việc xây dựng sẽ tự động thất bại và chúng tôi biết điều gì cần sửa ở đâu, cộng với việc thuận tiện để luôn biết rằng tham số đầu tiên là một tham số có chứa trạng thái, bất kể phần còn lại của hợp đồng. – Abel
Tôi thực sự rất ngạc nhiên và ấn tượng rằng WCF đã có thể tạo ra một proxy cho hoạt động đó ở tất cả! Lý do để sử dụng tham số 'out' ở vị trí đầu tiên là gì? – MattDavey