2017-05-11 1 views
0

J'essaie de publier un site MVC. Le site Web/l'application sont configurés pour .NET Framework 4. Lorsque le site est publié, la page MVC affiche l'erreur suivante:Site MVC ne fonctionne pas lors de la publication au fournisseur d'hébergement Web

"La ressource que vous recherchez a été supprimée, son nom a été modifié ou est temporairement désactivé. indisponible."

Aussi, si je tente de mettre en place un fichier ASPX de test, je reçois cette erreur:

« La ressource ne peut pas être trouvé. »

Le premier test que j'effectue est de supprimer le web.config. À ce stade, je tente à nouveau d'afficher une page MVC et la même erreur s'affiche:

"La ressource que vous recherchez a été supprimée, son nom a été modifié ou est temporairement indisponible."

Cependant, si je tente d'afficher une page ASPX test maintenant, je reçois effectivement la page:

1 + 2 = 3

Le test page ASPX contient ceci:

<html> 
<body> 
1 + 2 = <%=(1+2).ToString() %> 
</body> 
</html> 

Toute aide de ce qui serait à vérifier ensuite serait appréciée. Saw discussions similaires où il parle d'ajouter:

<customErrors mode="Off" /> 

et

<asp scriptErrorSentToBrowser="true"/> 

Mais cela me donne toujours la même erreur lors de la mise en place d'une page MVC. Toute aide sur la façon de procéder à côté pour réparer ce site MVC serait appréciée. Merci.

Mise à jour # 1

je fait une recherche pour le mot-clé "routes.MapRoute" dans l'ensemble du projet et ils ont trouvé une seule fois dans les RouteConfig.cs:

public class RouteConfig 
    { 
     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 
     } 
    } 

La page I am test est:

http://.../Home/Index 

Ceci est la page qui retourne:

"La ressource que vous recherchez a été supprimée, son nom a été modifié ou est temporairement indisponible."

Répondre

0

J'ai trouvé le problème! Le problème était que le fournisseur d'hébergement de site Web avait la configuration du site Web pour IIS 6.0. Dans ce cas, il existe deux options:

  • Mettre à jour le site d'hébergement pour prendre en charge IIS 7.0. Ce fut ma solution et a résolu le problème

  • Réglez le MapRoute pour exécuter une page ASPX "faux": (seulement faire cela si vous mettez à jour cant hébergement à IIS 7.0):

    // IIS 6.0 routes. MapRoute ( ) nom: "Par défaut", url: "typehereanything.ASPX/{contrôleur}/{action}/{id} », par défaut: new {controller = "Home", action = "index", id = UrlParameter.Optional} );

En utilisant cette deuxième méthode est déconseillée car maintenant vous devez brancher « typehereanything.aspx » dans chaque URL:. http://.../typehereanything.aspx/Home/Index

tous ces deux options a résolu le problème