Domanda

Ho questo contratto di servizio WCF (fortemente semplificata, ma attenzione allo spazio dei nomi è in):

namespace Foo.Services.BarService
{
    [ServiceContract]
    interface BarContract {... }
}

Nel mio app.config (lato client), ho configurare un endpoint per qualche servizio:

<endpoint address="..."
          binding="..."
          contract="Foo.Services.BarService.BarContract" />

Tuttavia, questo si traduce in un errore che dice che nessun endpoint è stato trovato nella configurazione del client che supporta BarService.BarContract. Posso solo liberarmi di questo errore modificando il valore dell'attributo contract a BarService.BarContract (cioè rimuovendo lo spazio dei nomi).

Perché? Dove poteva questo errore viene? Perché devo non parlare della parte dello spazio dei nomi di un tipo di contratto? Non dovrebbe questo risultato ancora più in WCF non trovare un endpoint corrispondenza?


Rispondi alle domande a commento di @Ladislav Mrnka di seguito:

  • sto parlando del lato client. (Ho dimenticato di dire questo bit;. Spiacente per quello) Può questo errore forse venire dal lato server?

  • I generato il contratto di servizio di cui sopra, insieme ad una classe BarClient che l'implementa, tramite Visual Studio di Aggiungi riferimento al servizio struttura. Ho specificato l'URL del BarService, che è gestito da qualcun altro. Ecco dove ho anche specificato che il servizio dovrebbe essere messo nello spazio dei nomi Foo.Services.BarService.

  • I stava per utilizzare il servizio direttamente tramite la classe BarClient auto-generata per me, non tramite un ChannelFactory<BarContract>.

È stato utile?

Soluzione

La creazione di client Aggiungi riferimento servizio non ricrea la struttura dello spazio dei nomi dal servizio. Tutti i tipi di contratti e creati vengono inseriti nel nuovo spazio dei nomi definito dal nome del riferimento al servizio. Quindi credo che hai chiamato il tuo BarService riferimento al servizio. configurazione del client deve seguire i nomi dei contratti generati.

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