Avete fondamentalmente due opzioni, credo:
Opzione 1 - "bin" distribuire (opzione preferita)
- compilare il servizio WCF in un (libreria di classi) DLL
- creare un sito Web in IIS
- copiare le DLL WCF nella cartella
.\bin
del sito Web
- creare un
*.svc
file in quel sito
- aggiungere un adeguato
web.config
nella cartella sito per definire endpoint e la configurazione del servizio, ecc
vostro servizio WCF sarà ora essere raggiungibile su indirizzo di base del sito, più il nome del *.svc
file, ad es
http://myserver/someweb/Myservice.svc
tuo *.svc
sarebbe simile a questa:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
I Service=
attributi indica la classe che implementa il servizio - completo con il suo spazio dei nomi.
Opzione 2 - roba messo in App_Code
- creare un sito web in IIS
- mettere tutte le WCF relative
*.cs
file direttamente nella cartella .\App_Code
- creare un file
*.svc
in quel sito
- aggiungi uno
web.config
appropriato nella cartella del sito Web per definire i tuoi endpoint e la configurazione del servizio, ecc.
Il servizio WCF sarà ora raggiungibile all'indirizzo di base del sito Web, più il nome del file *.svc
, ad es.
http://myserver/someweb/Myservice.svc
tuo *.svc
sarebbe simile a questa:
<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
Un semplice, campione web.config
potrebbe essere simile a questa:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="WithDebug">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="SimpleWCF.HelloIndigoService" behaviorConfiguration="WithDebug">
<endpoint
address=""
binding="basicHttpBinding"
contract="SimpleWCF.IHelloIndigoService" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Che, fondamentalmente, definire il tag <service>
- e ancora: il name=
indica la classe che implementa il servizio - completamente qualificato con il suo spazio dei nomi. Deve contenere almeno un endpoint: un endpoint "mex" è facoltativo, ma molto utile, specialmente per lo sviluppo e il test. Permette al cliente di "scoprire" il servizio e ottenere la sua descrizione del servizio in modo che possa interfacciarsi con esso.
Una volta che il servizio è distribuito in IIS, è possibile vedere in azione utilizzando uno strumento come il WCF Test Client fornito gratuitamente con WCF, o SoapUI che è un programma di utilità per tutti gli usi test SOAP (con una versione gratuita per voi uso).
See: [Come ospitare un servizio WCF in IIS] (http://msdn.microsoft.com/en-us/library/ms733766.aspx) - che sia 'localhost' o qualsiasi altro server è totalmente irrilevante - basta seguire questi passaggi. –