Ho un progetto di servizio WCF in Visual Studio 2008 che contiene circa 12 metodi, alcuni dei quali restituiscono tipi primitivi come bool o stringa. Ho anche un progetto di test dell'unità di Visual Studio che fa riferimento al servizio WCF pubblicato. Il Progetto di prova viene compilato correttamente quando tutti i tipi di ritorno sono primitivi.Servizio WCF che restituisce una classe personalizzata genera errori in Reference.cs
Se aggiungo un nuovo metodo al servizio che restituisce una classe personalizzata, lo pubblica e aggiorna il riferimento del servizio nel Progetto di test, non viene compilato. Gli errori sono: -
- Il tipo "PublisherFaultException" contiene già una definizione per "Motivo".
- Il tipo "PublisherFaultException" contiene già una definizione per "PropertyChanged".
- Digitare 'Publisher.Test.LibraryReference.PublisherFaultException' definisce già un membro chiamato 'RaisePropertyChanged' con gli stessi tipi di parametri.
tutto nel file reference.cs generato automaticamente.
Il contratto per il metodo del servizio WCF è: -
Page GetItem(string path);
e la classe pagina ha l'attributo DataContract ed è proprietà pubbliche hanno l'attributo DataMember.
Sono riluttante a modificare il file Reference.cs in quanto sarà necessario farlo ogni volta che si aggiorna il servizio.
Qualcuno sa perché questo sta accadendo?
Stuart.
cosa sta succedendo è che WCF add service reference is a bitch - I feel your pain – JohnIdol
Hai provato a generare il proxy usando svcutil? Ricordo di aver riscontrato questo problema prima, ed era quando stavo creando eccezioni di errore personalizzate usando l'attributo FaultContract. Non ricordo la soluzione. Quindi spero che i miei commenti possano aiutare. Continuerò a scavare e vedere se riesco a trovare la soluzione. Prova SvcUtil.exe e guarda cosa succede e faccelo sapere. – CkH