Estoy probando un servicio REST en WCF en .net 4 - es decir, no hay archivo svc. Funciona muy bien cuando se ejecuta contra el servidor de desarrollo VS, pero cuando lo cambio para ejecutarlo contra IIS, obtengo 404s cuando intento navegar por la página de ayuda o acierto con cualquiera de los métodos de servicio.404 al ejecutar .net 4 Servicio WCF en IIS (no archivo svc)
He vuelto al servicio básico para ejecutarlo en IIS, pero no estoy seguro de lo que está mal.
El global.asax simplemente tiene
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(DataPortalService)));
}
y el servicio en sí es tan simple como parece:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class DataPortalService : IDataPortalService
{
[WebGet(UriTemplate = "Test/TestMethod")]
public string TestMethod()
{
return "Hi!";
}
}
[ServiceContract]
public interface IDataPortalService
{
[OperationContract]
string TestMethod();
}
y configuración de archivos de
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" />
</webHttpEndpoint>
</standardEndpoints>
</system.serviceModel>
</configuration>
Golpear el/ayuda página o el método me da un 404.0.
Supongo que me falta algo de configuración en IIS para darle vida, aunque es un poco tonto que funcione bien en el servidor de desarrollo pero no en IIS.
que versión de IIS? –
7.5.7600 ejecutándose en W7. –
¿Recibes un HTTP 404.4? Si es así, verifique que las asignaciones de su manejador sean correctas. – tomasmcguinness