2011-11-25 19 views
5

Questa è probabilmente una vera e semplice. Desideravo creare del codice all'interno di una classe [DataContract] che sia utilizzata per comunicare informazioni tra un servizio WCF e l'applicazione che consuma.Libreria di classi portatile per classe [DataContract] condivisa

Ho creato un nuovo progetto Libreria di classi portatili e creato al suo interno la classe [DataContract]. È davvero semplice - ha alcuni attributi facili (principalmente gli archi). Ho aggiunto un riferimento alla DLL nel mio servizio WCF e l'ho ripubblicato. Ho quindi eliminato il riferimento del servizio dal mio progetto consumer e lo ho aggiunto nuovamente. Aggiunge bene, senza problemi lì.

Il problema si presenta quando desidero effettivamente utilizzarlo. Vedi, il tipo si chiama 'Eval'. Alcuni dei metodi WCF restituiscono questo tipo di 'Eval'. Quindi ho questa versione serializzata di 'Eval' nel file Reference.cs all'interno del riferimento del servizio. Ovviamente questo non contiene il metodo che sto cercando poiché è solo la versione serializzata. Posso anche aggiungere la DLL al progetto client, ma poi ho due oggetti Eval diversi in due spazi dei nomi, e solo quello da reference.cs è valido per essere restituito dalle chiamate di servizio.

Quindi come posso ... erm ... unire i due? Quindi, come gli oggetti Eval che ritornano dalle chiamate al servizio WCF hanno anche accesso al metodo in questione?

Grazie per la lettura, e stare al sicuro su quelle strade.

risposta

5

Quando si genera riferimento al servizio è possibile specificare quali classi dovrebbero essere riutilizzati e quali classi dovrebbero essere generati dal servizio enter image description here

+1

+1 bella soluzione :) – Venemo

+0

Hi there. Sono forse un po 'fitto, ma potresti elaborarlo un po'? Voglio dire, conosco la parte di cui stai parlando in cui riutilizzare le DLL dal servizio, ma non sono sicuro di cosa fare esattamente. Ho una casella di spunta per "EvalPortableClassLibrary" (il nome del progetto). Presupposto dal momento che il default è di riutilizzare tutto, vorrei spuntare tutto tranne EvalPortableClassLibrary. Se lo faccio, mi dà comunque una classe pubblica pubblica Eval in References.cs che usa come uso predefinito di Eval. Ho frainteso? – user738383

+0

Elimina il tuo riferimento e aggiungilo di nuovo, escluso il tuo assembly. A volte non aggiorna correttamente il riferimento –

Problemi correlati