¿Tiene problemas el despliegue de ASP MVC aplicación de proveedor de hosting compartido normales

StackOverflow https://stackoverflow.com/questions/1511004

  •  19-09-2019
  •  | 
  •  

Pregunta

He comprado el desarrollador paquete de alojamiento Windows desde fasthosts.co.uk, que creo que es un estándar pantano paquete de alojamiento compartido. Cuenta con ASP.NET 3.5 y, de acuerdo con su apoyo, también ha instalado SP1.

He desarrollado mi aplicación web utilizando ASP MVC Preview 2 1 (que por cierto es impresionante y estoy deseando quedarse atascado en vista previa 2) y funciona bien en mi máquina dev, en el que tengo previsualización 2 instalado a través del paquete de instalación.

Como no tiene instalado el servidor MVC, he seguido Phil Haacks bin método de implementación que no seam haber trabajado como sucede lo siguiente ...

Cuando despliego y copiar los archivos al servidor consigo una llanura inútil "Server Error 500 - Error interno del servidor". Así que he modificado mi web.config para que el modo de customErrors = "off", que no hizo ninguna diferencia lo que pensé que algo está pasando que lo impide incluso de llegar a la punta customErrors.

Luego procedió a sacar los bits del web.config hasta que me dio un mensaje de error decente. He encontrado que sólo me daría un mensaje de error si se tomaron las siguientes bits de la configuración -

  • La sección configSections toda
  • La sección httpHandlers toda
  • Toda la sección de System.CodeDom
  • Los controladores y secciones defaultDocument del sistema. webServer sección

Estoy usando la configuración de Internet estándar que genera MVC sin cambios, excepto mi propia cadena de conexión -. Que me llevó a cabo para esta prueba

Ahora que lo tengo me da un mensaje de error, aparece el mensaje "No se pudo cargar el archivo o ensamblado System.Web.Mvc ..." y yo estoy atascado! -? Alguna sugerencia

Editar

He comprado un nuevo paquete de alojamiento con otra persona y todo funcionó bien! Estaba seguro de que era culpa Fasthosts cuando desplegó una aplicación MVC vacío, gracias a la sugerencia Filis, y después una normal de formularios web aplicación vacío - y ambos se dieron los mismos errores

.

Actualmente estoy en el proceso de tratar de convencerlos de que es su culpa, pero me mantienen tranquilizador que el problema es con mi web.config. Intentado cancelar mi hosting con ellos, pero yo estoy al parecer en un contrato de 12 meses a pesar de que he optado por pagar mensualmente -. Oh, bueno

Creo que no van con Fasthosts sería la única cosa a tomar distancia de esta.

¿Fue útil?

Solución

Parece que es posible que no se está desplegando a un Webroot. Es ese el caso? Tratar implementar un proyecto de MVC vacía.

Otros consejos

Sé que esto está fuera de fecha, pero me encontré con este Q & A cuando se trata de establecer un sitio MVC 5 en Fasthosts plataforma de alojamiento compartido. La forma en que tengo que trabajar en el final fue la de añadir runAllManagedModulesForAllRequests="true" a mi web.config como:

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="FormsAuthenticationModule" />
    </modules>
  </system.webServer>

Y todo funciona muy bien!

Actualizar resulta que esto es un poco como una tuerca de craqueo con un martillo y puede tener consecuencias en el rendimiento. href="http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html" Colin Farr señala correctamente que esto puede ser resuelto de manera más elegante mediante la modificación de su sección de módulos de su web.config para incluir:

    <modules>
      <remove name="UrlRoutingModule-4.0" />
      <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
      <!-- any other modules you want to run in MVC e.g. FormsAuthentication, Roles etc. -->
    </modules>

El error ocurre porque anfitrión rápido no permiten parte system.webServer de la parte de configuración para interactuar con el servidor web (muy molesto). He bin desplegado una página web MVC a una cuenta Fasthost y funciona parcialmente ... se puede ver la página de índice de enrutamiento, pero no funciona. Para deshacerse de los errores simplemente comentar la sección system.webServer. He sido incapaz de conseguir el enrutamiento funcione utilizando .aspx o .mvc extensiones :(

Tengo mi sitio de trabajo MVC de la siguiente manera:

He añadido la extensión aspx a mi mapa de enrutamiento por defecto:

  routes.MapRoute(
            "Default", // Route name
            "{controller}.aspx/{action}/{id}", // URL with parameters
            new { controller = "Front", action = "Default", id = UrlParameter.Optional }
        );

  routes.MapRoute(
            "Root",
            "",
            new { controller = "Front", action = "Default", id = "" }
          );

No creo que la raíz realmente funciona porque me dieron una 403, 'No listado del directorio' error, por lo que añade una página default.aspx en el sitio, que sólo hace una redirección en OnInit a "~ / frontal. aspx / default"(tenga en cuenta que mi controlador por defecto se cambia el nombre al frente en lugar de Inicio).

He cambiado los tres archivos DLL MVC ser copia local para que se desplegaron en el directorio bin de mi sitio.

He utilizado HtmlAction para todos mis enlaces de la página de modo que consiguieron automáticamente la extensión aspx.

Me di cuenta de que el sitio fue más lento en la carga inicial de utilizar formularios web, pero aparte de eso, todo parece estar bien.

Compruebe de Global.asax y de código subyacente ... creo que este tipo de error ocurre cuando la aplicación no puede ni siquiera comenzar (por lo tanto usted no tiene ningún otro tipo de error, además de 500).

¿Usted ha intentado poner un pie en la página ASPX simple, solo, sin código subyacente o algo? Si es así, se puede conseguir el mismo error? Si es así, creo que ASP.NET 3.5 no está configurado para su directorio virtual, correctamente, y usted tendría que pedir la ayuda de tecnología para reinstalar / reparación o establecer la versión en la ficha ASP.NET de las propiedades del directorio virtual de IIS.

Es necesario el archivo DLL ASP.Net MVC 2 en el servidor. En su proyecto, seleccione el archivo DLL en las propiedades, cambie "Copia Local" true.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top