Domanda

Ho un progetto C #, che ha molti riferimenti web ad un prodotto di terze parti. Tutte queste chiamate di servizio Web utilizzano una classe di 'contesto utente'. Così ogni servizio web accetta la esattamente lo stesso frammento di XML.

Al momento devo mantenere molti di questi 'contesto utente' gli oggetti in giro come mi ha colpito tutte le diverse chiamate di servizio web. L' 'contesto utente' classe generata è la stessa esatta, ma solo mettere in diversi namespace .NET (il namespace XML è lo stesso).

Mi piacerebbe essere in grado di avere solo uno di questi casi passati in giro. Come potrei farlo?

Sto usando Visual Studio 2010 e utilizzando la classe generata con l'aggiunta di un WebReference. Io non sono contrario a usare qualche altro quadro o meccanismo. Avevo anche pensato di tirare il mio codice, ma ci sono molti WebServices (ciascuna con molti metodi web) che ho bisogno di usare.

Aggiorna : Originariamente ho aggiunto questi con l'aggiunta di un riferimento Web, mi sarà ora aggiungendoli come un riferimento al servizio. I servizi web stessi sono esposti attraverso InterSystems Caché e non ho guardato in quanto bene sono conformi a WS-I.

È stato utile?

Soluzione

Non sei sicuro di VS 2010, ma nel 2008 v'è stato un opzione "tipi di riutilizzo nelle assemblee riferimento" nella procedura guidata di aggiunta di riferimento al servizio che fa proprio quello che serve. Al fine di avere lo stesso tipo in tutti i riferimenti web di creare un assembly, mettere quelli definizione del tipo di lì, di riferimento dal progetto e quindi aggiungere i riferimenti web è necessario.

Altri suggerimenti

Ho risolto un problema come questo utilizzando una sola classe e la conversione l'oggetto con serializzazione XML / deserializzazione. Ma ancora non è la soluzione perfetta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top