2010-09-21 3 views
2

Cela peut être un problème lié au service d'hébergement, mais je l'afficherai ici au cas où il s'agit d'un problème plus courant.L'accès au service OData donne 404 "Erreur de ressource non trouvée"

Je cours un service d'OData sur mon site ASP.NET MVC 2 qui fonctionne très bien sur mon IIS portable mais quand je le déploie sur mon site chez Winhost j'obtiens 404 Erreur de ressource non trouvée en essayant d'accéder au .svc -fichier.

Plus tôt, j'avais 2 authentifications différentes sur alors j'ai eu l'erreur "System.InvalidOperationException: IIS a spécifié les schémas d'authentification ', Anonyme' ...." donc je sais qu'à ce moment-là le gestionnaire essayait de démarrer le service . Après avoir corrigé cela, j'ai obtenu l'erreur "Ressource non trouvée".

Le service est dans le dossier/Services, mais cela ne semble pas important. Peu importe où je l'ai mis, il me donne toujours l'erreur 404. Tous les fichiers binaires du dossier bin de mon site local se trouvent dans le dossier bin de mon site distant.

Tout le reste sur le site semble fonctionner correctement.

Si quelqu'un a une solution, une aide serait grandement appréciée.

Répondre

8

Finalement, j'ai compris cela. Depuis mon site est un site ASP.NET MVC 2, j'ai besoin d'ignorer la route vers le service. Sinon, ASP.NET commencera à rechercher un contrôleur pour cet URI.

J'ai donc ajouté routes.IgnoreRoute("Services/ServiceFilename.svc/{*pathInfo}"); à mon global.asax.cs et le problème voilá a été résolu.

Bien que je ne comprends pas très bien pourquoi le service fonctionne sur mes ordinateurs portables IIS 7 sans la route ignorée.

Questions connexes