2011-06-07 18 views
6

Sözleşme ilk yaklaşımını kullanan bir proje üzerinde çalışıyorum. WSDL ve üç xsd's verildi. I svcutil kullandığınızda, şöyle yanıt sınıfı etrafında bir sarmalayıcı:svcutil, özgün sarmalayıcı sınıfları oluşturdu

public partial class getDataByIdResponse1 { 

    public getDataByIdResponse getDataByIdResponse; 

    public getDataByIdResponse1() { 
    } 

    public getDataByIdResponse1(getDataByIdResponse getDataByIdResponse) { 
     this.getDataByIdResponse = getDataByIdResponse; 
    } 
} 

getDataByIdResponse bir getDataByIdResponse1 nesnenin içine sarılır. Bu svcutil tarafından yapılır ve neden hiçbir fikrim yok. getDataByIdResponse1 nesne WSDL içinde yok:

<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> 

Neden tip getDataByIdResponsegetDataByIdResponse1 sarılır? Kullanmalıyım svcutil için bir anahtar var mı?

cevap

0

aynı durumdayım (sözleşme birinci) ve svcutil benim için bu kod aynı tür oluşturuyor ama sadece gözlerim Sadece türlerini kullanmak derin bir nefes aldı ve

:-) kabul kapalı sayısal postfix olmadan ve sadece çalışır.

+0

"Sadece numeric postfix olmadan türleri kullanın ve sadece çalışır.", C# kodunun bu şekilde derleyeceğini sanmıyorum. sayısal postfix olmayan türler derleyiciler için tamamen farklı isimlerdir. –

0

Seninle aynı gemideyim ama sadece onunla yaşamak istemiyorum. Temiz (sarılmamış) sözleşmeler oluşturmak istiyorum. Eğer wsdl ve xsd'ler size verilmişse, şema ve wsdl'in svc kullanması için sarılmamış kod üretmesi için gereken bazı kurallar vardır. Bu bağlantılar beni şimdi benim şema ve wsdl ben onları bu kurallara uymaları çimdik kadar küçük olan için konuyu biraz daha iyi

http://pzf.fremantle.org/2007/05/handlign.html

http://mharbauer.wordpress.com/2007/10/19/wcf-datacontract-serializer-and-documentwrapped/

anlamamıza yardımcı oldu. Ancak, Ron gibi, en kolay şeyin sadece onunla yaşamak olduğu durumlarda da bulundum.

Bu yardımcı olur umarım.