Hvordan kan jeg kontrollere navnet på generiske WCF returtyper?

stemmer
7

Jeg har en WCF Web Service metode som prototype er:

[OperationContract]
Response<List<Customer>> GetCustomers();

Når jeg legger til tjenesten referanse til en klient, Visual Studio (2005) skaper en type som heter ResponseOfArrayOfCustomerrleXg3IC som er en wrapper for Response <Liste <Customer >>. Er det noen måte jeg kan styre wrapper navn? ResponseOfArrayOfCustomerrleXg3IC ikke høres veldig tiltalende ...

Publisert på 05/10/2008 klokken 14:50
kilden bruker
På andre språk...                            


3 svar

stemmer
-1

Ja. Den OperationContractAttribute tar en parameter som heter navn. Du kan spesifisere det slik:

[OperationContract(Name = "NameGoesHere")]
Response<List<Customer>> GetCustomers();
Svarte 05/10/2008 kl. 15:50
kilden bruker

stemmer
3

Vennligst prøv dette:

[OperationContract]
[return: MessageParameter(Name="YOURNAME")]
Response<List<Customer>> GetCustomers();
Svarte 05/10/2008 kl. 16:07
kilden bruker

stemmer
17

Du kan definere ditt eget navn i DataContractattributtet som dette:

[DataContract(Name = "ResponseOf{0}")]
public class Response<T>

Merk at i ditt eksempel {0}vil bli erstattet og at proxy referansetypen vil være ResponseOfArrayOfCustomer.

Mer info her: WCF: serialisering og Generics

Svarte 05/10/2008 kl. 19:07
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more