visual studio sitio publicar para net mvc manualmente instalar examen error developing descargar debe cómo configurar autenticación asp applications asp.net asp.net-mvc iis windows-server-2008

asp.net - studio - publicar sitio web asp net en iis



ASP.NET 4.5 MVC 4 no funciona en Windows Server 2008 IIS 7 (9)

Como menciona SonicTheLichen, si publica desde Visual Studio, el archivo gloabal.asax no se copia de manera predeterminada. Al copiar el archivo global.asax a su servidor web debería resolver el problema. Gracias SonicTheLichen por probar la solución.

Saludos, Saurabh

Claramente me falta algo, no puedo implementar una simple aplicación ASP.NET MVC 4, .NET 4.5 en Windows Small Business Server 2008 en IIS 7.

.NET Framework 4.5 está instalado.

¿Debería suponer que veo esa versión (4.5) en la configuración básica de la aplicación de la aplicación? En este momento, solo tengo 2.0 y 4.0, ya que 4.5 es como el 3.5 que solo se agrega en la parte superior del framework 4.0, supongo que esto es normal.

Cuando navego por la página de inicio, recibí el siguiente error:

403 - Prohibido: Acceso denegado. No tiene permiso para ver este directorio o página utilizando las credenciales que ha proporcionado.

Cuando solicito el único controlador llamado Página / página / índice, obtengo la página 404 no encontrada. Al igual que el proceso ASP.NET, nunca obtenga la solicitud http.

Puedo solicitar una página HTML simple.

El grupo de aplicaciones está configurado en .NET 4.0 e integrado como el modo de canal administrado.

El SERVICIO DE RED tiene acceso de lectura / escritura al directorio.

La aplicación funciona sin problemas desde VS2012, por supuesto.

No tengo ni idea de lo que no está bien aquí, y las consultas de los motores de búsqueda no ayudan mucho.

¿Alguien tendría una pista, sería muy apreciada? Gracias

Editar

Los dlls ya están en la carpeta bin como System.Web.Mvc, System.Web.Razor etc.

Creé una página vacía test.aspx para asegurarme de que el proceso de trabajo de asp.net recibía la solicitud, y sí, que la página estaba bien. Parece que el enrutamiento MVC no funciona, aunque tengo la aplicación web ASP.NET MVC 3 funcionando bien en ese servidor.

Después de la instalación de .NET 4.5 hice un aspnet_regiis -iru por si acaso, eso agregó una carpeta aspnet_client en la aplicación, pero aún así esto no soluciona el problema.

Autenticación anónima está habilitada en la sección Autenticación de IIS, y Autorización muestra permitir a todos los usuarios.

ASP.NET MVC 4 está instalado, solo hice una reparación para asegurarme.

A pesar de que ASP.NET MVC 4 está instalado, el error 404 al solicitar la acción / page / index es devuelto por el IIS estándar y no por el error estándar de aspnet. Así que de hecho parece que el framework MVC 4 no está instalado correctamente, solo hago una doble verificación y hago una reparación. ¿Dónde puedo continuar investigando?

@Mystere Man, he cambiado la autenticación anónima para usar la identidad del grupo de aplicaciones, detener, iniciar la aplicación y aún así el mismo error. Realmente parece que ASP.NET MVC 4 no acepta la solicitud.

Aquí hay una parte de web.config:

<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%/Microsoft.NET/Framework/v4.0.30319/aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%/Microsoft.NET/Framework64/v4.0.30319/aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> </entityFramework>

Editar 2012/09/27

He vuelto a sincronizar Microsoft Framework .NET 4.5 y he reparado el ASP.NET MVC 4, volví a implementar la sencilla aplicación ASP.NET MVC 4 y sigo teniendo el mismo comportamiento. No estoy seguro de qué hacer a continuación, así que comencé una recompensa con la esperanza de que alguien pudiera ayudarme a encontrar el problema.

Editar el 31/01/2014

Cuando hice esa pregunta, señalé runAllManagedModulesForAllRequests como la respuesta aceptada porque resolvió el problema. Pero ciertamente no iba a usar esto en producción. Pregunto por qué tenía que hacer esto y no tenía ninguna respuesta.

La respuesta de Than Martin Hollingsworth fue realmente lo que estaba buscando, una buena forma de solucionar este problema sin todos los problemas de rendimiento relacionados con runAllManagedModulesForAllRequests.

Casi nos damos por vencidos y compramos un nuevo servidor de Windows 2012 (del cual la aplicación ASP.NET MVC funciona tal cual). Después de probar la solución de Martin, el servidor de Windows 2008 funcionó.


Intenta usar esto:

<system.webServer> <modules runAllManagedModulesForAllRequests="true" /> ... </system.webServer>

EDITAR:

La solución anterior funcionará para .NET 3.5 o inferior. Si está usando .NET 4.0 o superior, puede intentar instalar IIS7 QFE

Además, vale la pena leer este artículo para comprender la diferencia entre esos dos.


No sé si esto solucionará su problema, pero solucionó uno que tenía implementado y una aplicación MVC en IIS.

Tuve que agregar un mapa de aplicación de comodín a aspnet_isapi.dll para el directorio de inicio / virtual de la aplicación. Puede hacer esto haciendo clic con el botón derecho en el sitio web / directorio virtual y seleccionando la pestaña directorio de inicio / directorio virtual, haciendo clic en el botón de configuración y luego haciendo clic en el botón Insertar debajo de la sección de mapas de la aplicación comodín.

C: / WINDOWS / microsoft.net / Framework64 / v4.0.30319 / aspnet_isapi.dll

¡Buena suerte!


Sé que esto es viejo, pero las actualizaciones de Windows perdieron un par de horas:

SI maneja sus excepciones en Global.asax, esto también puede ser simple, ya que mantener las actualizaciones de Windows es lo mismo que su entorno de desarrollo ... Para mí, obviamente no, esto resultó en una excepción de "no se pudo cargar ...". que mi global.asax intentó manejar y a su vez tuvo el mismo problema pero ocultó el problema subyacente .....



Si no puede aplicar el QFE desde kb 980368 , en lugar de usar la solución runAllManagedModulesForAllRequests como se sugiere en la answer aceptada, debe usar la configuración de módulos con preCondition = "" que se muestra a continuación para evitar el impacto negativo en el contenido estático como se describe en el blog publica Cómo funciona el enrutamiento asp.NET MVC y su impacto en el rendimiento de las solicitudes estáticas y no utiliza runAllManagedModulesForAllRequests = "true" al hacer funcionar su enrutamiento MVC y algunos de los comentarios sobre las respuestas.

La publicación del blog de Scott Hanselman sobre runAllManagedModulesForAllRequests debería agregar algo de peso a este argumento. La publicación de Rick Strahl Advertencias con runAllManagedModulesForAllRequests en IIS 7/8 es la mejor explicación de la interacción entre las configuraciones que he encontrado. La documentación de IIS en el atributo precondition del módulo también merece una lectura.

Recuerde que este cambio de configuración no es necesario si ha aplicado el QFE ya que este comportamiento se convierte en el predeterminado.

<system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules> </system.webServer>


Tuve que habilitar los scripts en la sección Asignación de controlador de las propiedades del sitio web en IIS.

Abra IIS, haga clic en el sitio web en cuestión. Abra las asignaciones de controladores y haga clic en "Editar permisos de funciones". Marque las casillas para Script y Execute, luego haga clic en OK. ¡Bueno para ir!


Tuve un problema similar. Intenté muchas de las soluciones descritas aquí (la entrada de configuración de Web.Config system.webServer, etc.) en vano. Al final, descubrí cuál era el problema con mi instalación particular. Estaba publicando mi sitio web en el sistema de archivos local y luego copiando esos archivos en el servidor. Resultó que el archivo Global.asax no formaba parte de los archivos publicados. Una vez que copié ese archivo, el error desapareció.


Tuve un problema similar. Tuve que implementar un sitio .net MVC en un nuevo servidor con Windows 2008 e IIS 7.5 instalados. Cuando revisé los programas y las características, vi que solo se había instalado .Net Framework 4.5.1. He habilitado manualmente la función de Windows .Net 3.5.1. Después de instalar MVC 4.0, el enrutamiento no funcionó.

Mi solución:
1) Desinstale el framework .Net 4.5.1 y MVC 4.0
2) Instalar .Net Framework 4.0
3) Instalar .Net framework 4.5.1
4) Instalar MVC 4.0