2012-03-06 27 views
5

Si verificano problemi durante l'esecuzione di alcuni file che contengono un servizio wcf. Il servizio viene creato senza un file di configurazione e senza un file .svc. È possibile eseguire un servizio senza un file .svc. Questi sono 2 semplici file di classe C# che hanno i loro requisiti di servizio completi, come contratti di servizio e contratti operativi.Creazione del servizio WCF senza file .svc

ho provato chiamando da un'altra classe, ma dà questo errore: "un progetto con un tipo di output di libreria di classi non può essere avviato direttamente"

la mia domanda è: è necessario disporre di un servizio. file SVC?

+3

No, è possibile ** auto-ospitare ** il servizio WCF in un'app gestita - nessun file * .svc o qualcosa del genere necessario - solo un po 'di codice. Vedere [la documentazione MSDN relativa] (http://msdn.microsoft.com/en-us/library/ms731758.aspx) su come farlo. –

risposta

7

Se non ospitare il tuo servizio in IIS, non c'è bisogno di .svc. Il motivo per .svc in IIS è:

WCF services hosted in IIS are represented as special content files (.svc files) inside the IIS application. This model is similar to the way ASMX pages are represented inside of an IIS application as .asmx files. A .svc file contains a WCF-specific processing directive (@ServiceHost) that allows the WCF hosting infrastructure to activate hosted services in response to incoming messages.

+3

Se si esegue l'hosting in IIS e la versione del framework è 4 o superiore, non è necessario in .svc. Basta usare [Config Based Activation] (http://blogs.msdn.com/b/rampo/archive/2009/10/27/activation-without-svc-files-config-based-activation-cba.aspx) – Mike

1

Dai un'occhiata a WCF WebAPI ha un sacco di pezzi interessanti per permetterti di fare cose come l'hosting al di fuori di IIS o l'hosting tramite un binding. questo articolo ti guida attraverso alcuni servizi di base. http://www.tugberkugurlu.com/archive/introduction-to-wcf-web-api-new-rest-face-ofnet

però non notare che anche quando SelfHosting (l'esecuzione di un servizio WCF all'interno di un processo di Windows) sarà comunque necessario un file eseguibile (per esempio, si smusso semplicemente eseguire una libreria di classe a sé)

1

.svc file è richiesto quando si ospita il servizio in IIS. Il file è in realtà un file di testo simile al file .asmx. Se lo apri con un qualsiasi editor di testo, vedresti alcuni dettagli come il file .asmx. Come Lingua (C#/VB), Codice servizio e Nome del servizio, Debug ecc.

Non è necessario avere il file svc se non si esegue l'hosting su IIS. L'auto hosting è un esempio di non avere il file SVC.

Problemi correlati