Tôi đang làm việc trên một dự án sử dụng cách tiếp cận đầu tiên của hợp đồng. Tôi được tặng WSDL
và ba xsd's
. Khi tôi sử dụng svcutil
nó tạo ra một bọc xung quanh lớp phản ứng như vậy:svcutil tạo ra các lớp bao bọc không cần thiết
public partial class getDataByIdResponse1 {
public getDataByIdResponse getDataByIdResponse;
public getDataByIdResponse1() {
}
public getDataByIdResponse1(getDataByIdResponse getDataByIdResponse) {
this.getDataByIdResponse = getDataByIdResponse;
}
}
Các getDataByIdResponse
được gói bên trong một đối tượng getDataByIdResponse1
. Điều này được thực hiện bởi svcutil
và tôi không biết tại sao. Các đối tượng getDataByIdResponse1
không tồn tại trong WSDL
:
<wsdl:message name="getDataById">
<wsdl:part name="response" element="tns:getDataByIdResponse"/>
</wsdl:message>
<xs:element name="getDataByIdResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="data" type="sbc:DataType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
Tại sao loại getDataByIdResponse
bọc trong getDataByIdResponse1
? Có công tắc nào cho svcutil
Tôi có nên sử dụng không?
"Chỉ cần sử dụng các loại không có mã bưu chính số và nó chỉ hoạt động.", Tôi không nghĩ rằng mã C# sẽ biên dịch theo cách đó. các kiểu không có postfix số là các tên hoàn toàn khác nhau cho các trình biên dịch. –