Tôi đang tạo một dịch vụ WCF bằng cách sử dụng mô hình hợp đồng thông báo.Làm cách nào để kiểm soát tên của một Hợp đồng Thông báo WCF chung
tôi đã tạo ra một hợp đồng thông điệp yêu cầu chung chung như vậy:
[MessageContract]
public Request<T>
{
[MessageBodyMember]
public T Details { get; set; }
}
Tôi đang sử dụng để sử dụng [DataContract(Name="Contract{0}")]
để sản xuất tên có thể đọc được các hợp đồng dữ liệu chung, nhưng phương pháp này dường như không làm việc cho tôi sử dụng thông điệp hợp đồng.
Có cách nào để đạt được cùng một hành vi sử dụng mô hình hợp đồng thông báo không?
Tôi đã thử điều này bằng cách sử dụng WrapperName = "WrapperFor {0}", nhưng điều này giải quyết cho một tên khá khó chịu trong WSDL (Unicode tương đương với {0}) và không thực hiện bản dịch tôi đã mong đợi. –
Ngoài ra, điều này dường như ném một ngoại lệ khi 'T' cũng xảy ra là loại chung và thuộc tính' DataContract Name' sử dụng trình giữ chỗ, ví dụ: 'GenericOf {0}'. Tôi muốn được quan tâm để biết nếu Generic MessageContracts và DataContracts có thể được sử dụng cùng với tên chung chung ghi đè vì vậy tôi đã đặt một tiền thưởng về câu hỏi này –