IIS renvoie 404 pour ASP.NET MVC3 fichier (.cshtml)

J'ai norme ASP.NET 4 domaine d'application. Dans cette application, il y a également peu de rasoir (par exemple test.cshtml) des fichiers. ASP.NET l'application fonctionne cependant si je le navigateur de points de /test fichier (sans l'extension). IIS (gestionnaire de fichier statique) retourne 404.

La même application et la même autonome .cshtml fichiers de travail sur la machine locale (avec IIS7.5/Win7) et d'un serveur (IIS7.5/Win2008R2), mais il ne fonctionne pas le serveur IIS7.0/Win2008.

MVC3 est installé sur les deux machines, les pools d'application sur les deux machines .NET 4.0 intégrée.

Comment le .cshtml gestionnaires d'œuvres? Lorsque IIS décide d'utiliser le gestionnaire de fichier statique et lorsque le .cshtml gestionnaire? Que dois-je vérifier?

EDIT:

Précisions - je ne suis en fait pas entier en utilisant les framework MVC, il est juste comme la plaine-vieux .ASPX ou fichier PHP. Pas de contrôleurs, pas de routes, pas de "vues". Je suis à l'aide d'un simple script en plus vieux ASP.NET application.

Je pense que ce n'est pas un problème de programmation, car il fonctionne sur l'ordinateur local, mais plutôt un problème de configuration - IIS sur le Win2008 serveur peut-être pas configuré correctement.

EDIT2:

(Machines avec IIS7.5 œuvres, seulement la machine avec IIS7.0 ne fonctionne pas. Mais je ne suis pas sûr de savoir si c'est un problème de IIS version.)

EDIT3:

Sur mon ordinateur local où elle travaille, je n'ai pas mis de routage. TheCodeKing et Keith a suggéré que j'ai besoin d'avoir un routage quelque part. Peut-être que oui, mais il n'est pas dans mon application. Elle peut être définie par défaut quelque part dans la configuration d'IIS.

Avez-vous des conseils où cette "implicites" de routage peut être trouvé?

EDIT4:

Remarque: Sur tous les ordinateurs, il est HttpForbiddenHandler pour *.cshtml, puisque vous ne pouvez pas télécharger le cshtml fichier. Et il y a aussi le TransferRequestHandler pour *.. (Les deux sont activés.)

EDIT5:

J'ai trouvé que sur les serveurs, où il est au travail, j'ai besoin d'avoir tout .cshtml fichier dans la racine du site web. Si je supprime le .cshtml à partir de la racine du site web et d'essayer de se prévaloir de tout à partir d'un sous-répertoire, il ne fonctionnera pas.

EDIT6:

J'ai essayé sur deux autres machines: l'une avec IIS 7.5 et un autre avec IIS 7.0. Sur IIS 7.5 il fonctionne (plaine d'installation aucune configuration), mais sur IIS 7.0 il ne fonctionne pas.

Comment le faire fonctionner sur IIS 7.0?

Je ne suis pas sûr de comprendre. En vertu de la MVC, vous appelez une méthode de contrôleur à travers la route du moteur, à l'aide d'une URL sous la forme de http://mydomain/mycontroller/mycontrollermethod ou somesuch. Le contrôleur méthode appelle approprié cshtml vue. Pourquoi voudriez-vous ouvrir la vue directement?
Voir aussi stackoverflow.com/questions/4942634/...
Car il n'est pas " vue " un exemple d'application MVC, mais plutôt un simple script.
Dans IIS 7, pour votre site, avez-vous vérifié la Handler Mappings*.cshtml?
Voir ma réponse dans EDIT4.

OriginalL'auteur TN. | 2011-09-09