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 IIS6
- 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 IIS6
- 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 los 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="true">
<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, dado que IIS6 solo es compatible con HTTP, puede usar basicHttpBinding
o wsHttpBinding
y eso es todo lo que hay. Un punto final "mex" es opcional, pero muy útil, especialmente para desarrollo y 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: http://www.youtube.com/watch?v=mX8quq7MoeI –
O MSDN aquí: http://msdn.microsoft.com/en-us/library/ms733766.aspx –