update tutorial tools net mvc instalar asp asp.net asp.net-mvc-3

asp.net - tutorial - instalar asp net mvc



Implementación de MVC 3 en IIS6 (4)

Creo que la función de URL sin extensión de ASP.NET 4 no funciona para el directorio virtual en iis v6 a menos que el sitio web predeterminado también esté configurado para ejecutar ASP.NET v4.0. Para mí, configurar ASP.NET v4.0 a Sitio web predeterminado no es una opción, ya que está rompiendo las aplicaciones web de directorio virtual v2.0 existentes. Agregar mapas de aplicación de comodines en la aplicación web de directorio virtual mvc3 funcionó para mí. Aquí está la lista de pasos que hice para implementar mvc en iis6.

  1. ASP.NET v4 ya está instalado en el servidor Windows 2003
  2. Instale AspNetMVC3Setup.exe
  3. Copie los archivos de la aplicación web mvc3 en el servidor sin los archivos DLL de mvc3 en la carpeta bin
  4. Crear directorio virtual apuntando a la carpeta de la aplicación
  5. Establecer la versión de ASP.NET a 4.0.30319
  6. Agregue el mapa de la aplicación de comodines a c: / windows / microsoft.net / framework / v4.0.30319 / aspnet_isapi.dll y desactive la casilla Verificar que el archivo existe

Originalmente, implementé el sitio con algunas de las DLL establecidas para copiarlas localmente (como se ha sugerido en otra publicación SO). Después de que esto falló, instalé el paquete MVC 3 en el servidor.

Cuando llego a mi sitio obtengo:

Listado de directorios denegado Este directorio virtual no permite que se muestren contenidos.

Vi el blog de haacked , pero ahora tiene casi 3 años y parte ya no funciona. ¿Alguien sabe qué debemos hacer para que esto funcione después de instalar MVC 3 en el servidor?

ACTUALIZAR
Encontré otro link en el blog de haacked. Aparentemente, esto debería funcionar (no es necesario realizar asignaciones de comodines). El directorio virtual de mi sitio web está configurado para ejecutar ASP.NET 4.0.30319, instalé ASP.NET MVC 3 y ejecuto IIS6 (Windows Server 2003 R2, bastante seguro de que es IIS6).


El directorio virtual se estableció en ASP.NET 4.0. Mientras, el "Sitio web predeterminado" estaba configurado para ejecutar ASP.NET 2.0. Cambié el "Sitio web predeterminado" para ejecutar 4.0 además del virt. Directorio y comenzó a trabajar. La razón es un misterio para mí, pero funcionó.


Parece que no has configurado la asignación de comodines. Debe configurar una asignación en IIS que envíe todas las solicitudes a la tubería de ASP.NET para su procesamiento. Como no tiene configurada la asignación, interpreta la solicitud como una búsqueda de directorio (que probablemente no esté permitida en su configuración).

De Haacked :

  1. En las propiedades de IIS para el sitio web, haga clic en la pestaña Directorio principal.
  2. Haga clic en el botón "Configuración ...". En la pestaña "Asignaciones", haga clic en "Insertar ..."
  3. Junto a la etiqueta "Mapas de aplicación de comodines" En el cuadro de texto, escriba "c: / windows / microsoft.net / framework / v2.0.50727 / aspnet_isapi.dll"
  4. Desmarque la casilla "Verificar que el archivo existe" Haga clic en Aceptar

ACERCA DEL MAPA DE APLICACIÓN DE WILCARD : tenga en cuenta que esta opción hace que IIS intercepte todas las solicitudes realizadas contra el servidor web. Esto incluye solicitudes de imágenes, páginas ASP clásicas y páginas HTML. Por lo tanto, habilitar un mapa de guiones comodín a ASP.NET tiene implicaciones de rendimiento .

OTRA SOLUCIÓN: En W2K3 SP2 con IIS6, .NET Framework (2, 3.5, 4).

Ir a registro:

HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / ASP.NET / 4.0.30319.0

Si es necesario, cree DWORD EnableExtensionlessUrls con valor 0 .

Luego desde la ventana de comandos ejecute: resetiis

Crea una aplicación ASP.NET desde la plantilla MVC3.

Ahora en el global.asax configura las rutas como tesis:

public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //routes.MapRoute( // "Default", // Route name // "{controller}.mvc/{action}/{id}", // URL with parameters // new { controller = "Home", action = "Index", id = "" } // Parameter defaults //); routes.MapRoute( "Default", "{controller}.aspx/{action}/{id}", new { action = "Index", id = "" } ); routes.MapRoute( "Root", "", new { controller = "Home", action = "About", id = "" } ); }

Cree AppPool para .NET Framework 4 y configure la aplicación web para usar este conjunto de aplicaciones. Puede usar el conmutador de versión ASP.NET de Denis Bauer o usar Aspnet_regiis.exe.

RESULTADO: el navegador muestra la página Acerca de como la página predeterminada.