Usted tiene básicamente dos opciones, creo:
Opción 1 - "bin" desplegar (opción preferida)
- compilar su servicio WCF en un (biblioteca de clases) DLL
- crear un sitio web en IIS
- copiar las DLL de WCF en la carpeta
.\bin
del sitio web
- crear un
*.svc
archivo en ese sitio web
- añadir una adecuada
web.config
en la carpeta del sitio web a definir sus puntos finales y configuración de servicios, etc.
Su servicio WCF ahora será accesible en la dirección base de la página web, más el nombre de la *.svc
archivo, por ejemplo
http://myserver/someweb/Myservice.svc
Su *.svc
sería algo como esto:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
Los atributos Service=
denota la clase que implementa el servicio - completo con su espacio de nombres.
Opción 2 - cosas poner en App_Code
- crear un sitio web en IIS
- poner todo su WCF relacionados
*.cs
archivos directamente en la carpeta .\App_Code
- crear un archivo
*.svc
en ese sitio web
- agregue un
web.config
apropiado en la carpeta del sitio web para definir sus puntos finales y la configuración del servicio, etc.
Su servicio WCF ahora será accesible en la dirección base del sitio web, más el nombre del archivo *.svc
, p. Ej.
http://myserver/someweb/Myservice.svc
Su *.svc
sería algo como esto:
<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
Un simple, muestra web.config
podría ser algo como esto:
<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>
Es, básicamente, definir su etiqueta <service>
- y otra vez: el name=
denota la clase que implementa el servicio, totalmente calificado con su espacio de nombres. Debe contener al menos un punto final (un punto final "mex" es opcional) pero muy útil, especialmente para el desarrollo y las pruebas. Le permite al cliente "descubrir" el servicio y obtener su descripción del servicio para que pueda interactuar con él.
Una vez que su servicio se implementa en IIS, puede verlo en acción utilizando una herramienta como la WCF Test Client que se incluye de forma gratuita con WCF, o SoapUI que es una utilidad de pruebas de SOAP de propósito general (con una edición gratuita para que usted pueda utilizar).
Ver: [Cómo recibir un servicio WCF en IIS] (http://msdn.microsoft.com/en-us/library/ms733766.aspx): si ese 'localhost' o cualquier otro servidor es totalmente irrelevante, simplemente siga esos pasos. –