Sto testando un servizio REST in WCF su .net 4 - ovvero nessun file SVC. Funziona alla grande quando si esegue contro il server VS VS ma quando lo passo per funzionare contro IIS ottengo 404 quando cerco di sfogliare la pagina di aiuto o di colpire uno qualsiasi dei metodi di servizio.404 quando si esegue .net 4 Servizio WCF su IIS (nessun file svc)
Sono tornato a un servizio bare bones per farlo funzionare su IIS ma non sono sicuro di cosa non funzioni.
Il global.asax deve semplicemente
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(DataPortalService)));
}
e il servizio stesso è così semplice come si arriva:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class DataPortalService : IDataPortalService
{
[WebGet(UriTemplate = "Test/TestMethod")]
public string TestMethod()
{
return "Hi!";
}
}
[ServiceContract]
public interface IDataPortalService
{
[OperationContract]
string TestMethod();
}
e configurazione del file di
<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>
Colpire l'/ help pagina o il metodo mi dà un 404.0.
Presumo che mi manca solo qualche impostazione in IIS per dare il via alla vita anche se è un po 'stupido che funzioni bene sul server di sviluppo ma non su IIS.
quale versione di IIS? –
7.5.7600 in esecuzione su W7. –
Stai ricevendo un HTTP 404.4? In tal caso, verifica che i mapping del gestore siano corretti. – tomasmcguinness