I passaggi per ospitare un servizio WCF in IIS5.1 (XP)
Domanda
Ho sviluppato un servizio WCF campione. Vorrei conoscere i passi di ospitare questo in IIS 5.1 (XP)
Soluzione
Dai un'occhiata alla questo articolo su MSDN . Ha informazioni su servizi di hosting WCF in tutte le versioni di IIS.
Altri suggerimenti
1) Avete bisogno di una directory virtuale di IIS -> crearlo utilizzando Gestione IIS
2) Avete bisogno di un file .svc * che fa riferimento il servizio - si tratta di un file di testo che deve trovarsi all'interno della vostra directory virtuale appena creato, e sarebbe qualcosa di simile:
<% @ServiceHost Service="YourNameSpace.YourServiceClass"
Language="C#" Debug="False" %>
che funziona se la classe di servizio WCF è in un assembly distribuito alla directory "bin" sotto la directory virtuale.
Se vi capita di avere il codice di servizio effettivo in un file di "code-behind" all'interno della cartella "App_Code" (che avrei non consigliare), allora avreste bisogno di questi contenuti nella vostra * file .svc:
<% @ServiceHost Service="YourServiceClass"
CodeBehind="~/App_Code/YourServiceClass.cs"
Language="C#" Debug="False" %>
3) È necessario il config nella web.config - è necessario almeno il tag <service>
più forse di più a seconda delle esigenze:
<system.serviceModel>
<services>
<service name="YourNameSpace.YourServiceClass"
behaviorConfiguration="MetadaTaEnabled">
<endpoint address=""
binding="wsHttpBinding"
contract="YourNameSpace.IYourService" />
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MetadaTaEnabled">
<serviceMetadata httpGetEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
Qui, è necessario decidere cosa vincolante (protocollo) da utilizzare.
Se fate tutto questo, e tutto era successo, si dovrebbe essere in grado di individuare l'URL della directory virtuale con IE (http://yourserver/virtualdirectory/YourService.svc
) e vedere la "pagina di destinazione" del vostro servizio.
Marc