2009-08-24 14 views
5

En VS2008 ¿cuál es la diferencia entre el sitio web y la aplicación web? ¿Y hay ventajas de usar cualquiera de los dos?En VS2008, ¿cuál es la diferencia entre el sitio web y la aplicación web?

+0

Exact Duplicate: http://stackoverflow.com/questions/237664/web-site-vs-asp-net-web-application-in-visual-studio –

+0

Gracias Justin ... Creo que debería haber hecho una búsqueda primero . – Brad

+2

es un engaño "vago" pero me gustan mejor las respuestas en este hilo, así que por favor mantén este hilo abierto. – djangofan

Respuesta

14

Antes de hablar sobre los pros y los contras, debería saber la diferencia fundamental sobre cómo funciona.

Los proyectos de sitio web utilizan un enfoque de compilación justo a tiempo que compila dinámicamente su aspx y el archivo relacionado cuando se visita realmente su página. El ensamblado compilado se coloca dentro de la carpeta bin con un nombre dll generado aleatoriamente.

La aplicación web, por otro lado, compila la página en un dll con nombre al momento de desarrollar el proyecto. Sin esta compilación de la página web ni siquiera desplegar en el servidor (ya que no hay ningún mecanismo de compilación automática)

Por lo tanto los pros y los contras:

  1. fuente del proyecto de sitio Web son dinámicos, no hacen necesaria necesita pasar por su máquina de desarrollo para modificar algo (enfoque arriesgado), todo se compila justo a tiempo
  2. Habiendo dicho que esto es conveniente, también tiene una pequeña penalización de rendimiento debido a la compilación JIT involucrada.
  3. Hay algunos proyectos que simplemente se ejecutan en el proyecto de sitio web debido al diseño de la solicitud de envío, como los proyectos basados ​​en ASP.NET MVC y MonoRail.
  4. Tiene poca o ninguna posibilidad de TDD de su proyecto de sitio web a nivel de biblioteca porque no está compilado. Sin embargo, puede TDD su única DLL compilada con la Aplicación Web.
  5. Olvidé cómo se está desencadenando, pero VS2005 puede tardar mucho tiempo en compilar un proyecto de sitio web más grande debido a la naturaleza dinámica que implica una verificación de sintaxis adicional para los archivos aspx. La aplicación web no sufre este problema.

Estoy seguro de que hay muchos más productos involucrados, pero creo que estos son algunos de los más grandes.

1

Si está utilizando Visual Studio 2005, proyectos de aplicación Web recopilan más rápido acuerdo con this site

para obtener una lista de las personas una opinión de pros and cons puede comprobar este artículo.

Mi preferencia personal es simplemente crear un proyecto de sitio web. Realmente no tengo una razón para hacer esto, pero dado que siempre me ha funcionado (puedo arrastrar y soltar un directorio para implementar) continúo usándolo.

0

Solo usaría el proyecto del sitio web para la aplicación más trivial. Cualquier otra cosa que involucre a múltiples desarrolladores necesita un script de msbuild. A msbuild le gustan los proyectos de aplicaciones web y realmente odia los proyectos de sitios web. Además de eso, nunca me sentí cómodo con el orden que imponen los proyectos de sitios web. Me gusta escribir código, compilar, probar, implementar. Con un proyecto de sitio web obtienes código de escritura, implementación, compilación y prueba. Solo me frota en el camino equivocado.

0

Stephen M. Redd me ayudó a comenzar en este. Él prefiere el enfoque del proyecto de aplicación web.

Mi tarea hoy era actualizar una aplicación .Net 1.1 a 3.5, en mi caso era mucho más fácil tomar la ruta del proyecto de aplicación web, ya que está mucho más cerca de cómo funciona 1.1.

Aunque decidí no hacerlo, el enfoque de sitio web a cabo las siguientes atracciones:

  • ningún código en absoluto necesaria para declarar controles de página proyecto de aplicación web (por el contrario genera automáticamente éstos en un archivo del diseñador lo que no me gusta el aspecto de)
  • compilación dinámica, un desarrollo más rápido
  • hay necesidad de un archivo de proyecto

en última instancia tendrá que hacer algunas Cambia el código si selecciono la ruta del proyecto de la aplicación web. Desafortunadamente, nuestra aplicación tiene páginas que se referencian entre sí a través de métodos estáticos y otras malas prácticas. El sitio web se acerca al método de compilación, lo que significa que las páginas no pueden funcionar juntas, independientemente de cómo estén configurados sus espacios de nombres. Supongo que tendré que aprender a vivir con los archivos del diseñador.

0

Al desarrollar en un equipo, siempre debe elegir la aplicación web. Debido a que el directorio Bin contiene todos los ensamblados a los que se hace referencia y debe controlar el directorio de Bin en el control de origen (muy malo). Eso significa que siempre obtienes conflictos después de una compilación de tu sitio web y una actualización del control de código fuente (con modificaciones de otro desarrollador).

+0

¿puedes dar más detalles sobre eso? – djangofan

7

Sitio web Principalmente para trabajar con sitios web ad-hoc que tienen elementos programados. Identificado fácilmente por contenido específico del cliente presente en archivos aspx.

No se requieren archivos de solución o proyecto y las páginas y el origen pueden residir localmente (sistema de archivos, IIS) o remotamente (FTP, extensiones WebDev/FrontPage) a través de la opción de menú Archivo> Abrir> Sitio web.

El código subyacente y las clases se almacenan normalmente en el servidor web, que las compila en la memoria bajo demanda. Se pueden hacer cambios a los archivos sin reiniciar la aplicación y perder sesiones.

por/contra

  • Edición rápida, probar, implementar errores de sintaxis en tiempo de ejecución del ciclo
  • No hay necesidad de compilar o reiniciar la aplicación No se puede crear un instalador
  • Fuente Fuente siempre disponible en el servidor útil a los piratas informáticos se introdujeron

aplicaciones web proyectos de web como un add-on para Visual Studio 2005, más tarde ingresó a VS 2005 SP1 e hizo un ciudadano de primera clase con Visual Studio 2008.

Como su nombre lo indica, estos son principalmente para aplicaciones web, aquellas ocasiones en las que ha escrito un producto o solución eso pasa a tener una interfaz web.

Los proyectos de aplicaciones web existen en su disco local y se tratan como cualquier otro tipo de proyecto VS y se pueden agregar a las soluciones existentes, están sujetos a compilación completa, validación y pasos de compilación.

La implementación se realiza normalmente a través de instaladores MSI; sin embargo, también puede utilizar el complemento adicional de Proyectos de implementación web que le permite implementarlo directamente en los servidores, lo cual es útil para implementar en entornos de prueba.

por/contra

  • proceso de despliegue controlado acumulación & despliegue provoca el reinicio de aplicaciones
  • No hay archivos de clase en el servidor web, DLL Sólo puede no implementar clases individuales
  • Los errores de sintaxis en tiempo de compilación

http://damieng.com/blog/2008/02/07/web-site-vs-web-application

0

Sitio web: su compilación dinámica Aplicación web: su compilación estática

visual studio 2005 sp1 proporciona la Aplicación web y en visual studio 2008: admite ambos conceptos.

leer myblog

0

Hay muchos artículos sobre esto- here, and here, e incluso here. La principal diferencia es que un Proyecto de sitio web comprende una carpeta de activos relacionados que conforman el sitio web y cualquier elemento de esa carpeta es parte del sitio web, mientras que una Aplicación de sitio web se trata más como una aplicación de escritorio y tiene un archivo .csproj/vbproj que enumera todo el contenido de la aplicación. Además, las páginas tienen archivos de diseñador en una aplicación de sitio web.

Cuestiones relacionadas