Ritengo che questa sia una domanda stupida prima ancora di chiederlo, ma il mio cervello non sta funzionando troppo bene in questo momento. Ho due servizi WCF "CountryService" e "FloristService".Condividi oggetti DTO tra servizi WCF
Ora CountryService ha il seguente metodo:
IList<CountryDTO> GetAllCountries();
Inoltre, FloristService ha un metodo:
bool AddFlorist(FloristDTO florist);
Tutto bene finora, ma il problema è che il FloristDTO fa riferimento a un CountryDTO cioè
public string Address1 { get; set; }
public string Address2 { get; set; }
public string Address3 { get; set; }
public string City { get; set; }
public string Postcode { get; set; }
public CountryDTO Country { get; set; }
public string Name { get; set; }
Questo va bene, ma se utilizzo il proxy di servizio che genera util w con Visual Stuidos (es. Aggiungi riferimento> Aggiungi riferimento servizio) quindi ho due versioni di CountryDTO create i.e.FloristService.CountryDTO e CountryService.CountryDTO.
Ora riesco a pensare a qualche modo per superare questo, ma non sembra che abbiano ragione. Mi chiedevo quale fosse l'approccio "corretto" per questo, c'è qualcosa di funky che posso fare con lo strumento di generazione del proxy per farlo condividere DTO comuni?
Cheers, Chris
Cheers, proprio quello che sto dopo – Owen
In secondo luogo, questo sembra presupporre che sia il livello di servizio che il livello di consumo avranno accesso allo stesso file .dll con gli oggetti DTO. Ora, cosa succede se non lo ho, e VOGLIO che lo svutil generi le classi proxy. Ma voglio solo generarli una volta e condivisi tra i servizi? – Owen
Quindi si generano le classi proxy una volta e riutilizzate le classi proxy generate tramite svcutil/r per la generazione successiva del proxy. –