¿Cuál es la diferencia entre una aplicación web y un sitio web?
Las aplicaciones web se utilizan principalmente para implementar ciertas funciones cuando se ejecutan, al igual que el backend de un sitio web, mientras que los sitios web prestan más atención a la hermosa visualización del frontend.
Las aplicaciones web tienen dos tipos: regeneración y publicación; el sitio web tiene un solo sitio de publicación
No hay diferencia entre las aplicaciones web y los winforms generales. Todas las referencias son espacios de nombres, etc. ; cuando se haga referencia al sitio web, aparecerá una carpeta bin, donde se almacenan los archivos dll y pdb.
Las aplicaciones web se pueden utilizar como bibliotecas; no se puede hacer referencia a los sitios web como bibliotecas.
Las aplicaciones web también pueden agregar componentes y clases, pero los sitios web no.
En términos de estructura general, las aplicaciones web no se diferencian de los programas Winform normales porque se basan en proyectos. administración, solo los archivos a los que hacen referencia los archivos del proyecto aparecerán en el Explorador de soluciones y solo estos archivos se compilarán. Es fácil dividir una aplicación ASP.NET en múltiples proyectos de Visual Studio y es fácil excluir archivos del control de proyectos y fuentes. Los archivos de proyecto se administran según espacios de nombres, y las aplicaciones web pueden hacer referencia fácilmente a otras bibliotecas de clases y se puede hacer referencia a ellas mismas como bibliotecas de clases, por lo que son muy adecuadas para el desarrollo de plantillas divididas de proyectos. Por lo tanto, algunos creen que Microsoft pudo haber conservado la aplicación web para permitir a los programadores realizar una buena transición de Winform al desarrollo web. En comparación con las aplicaciones web, los sitios web utilizan una nueva estructura de desarrollo, es decir, una estructura de directorio es un proyecto web y todos los archivos de este directorio existen como parte del proyecto. Abandona el concepto de espacios de nombres y no se puede hacer referencia a los sitios web como bibliotecas de clases.
Desde una perspectiva de compilación e implementación Al depurar o ejecutar una página de aplicación web, debe compilar todo el proyecto web. Compilar todo el proyecto web suele ser más rápido porque Visual Studio utiliza un modelo de compilación incremental, que compila incrementalmente solo las partes del archivo que se modificaron. Debido a que todos los archivos de clase se compilan en un conjunto de aplicaciones, en el momento de la implementación, solo necesita implementar este conjunto de aplicaciones junto con los archivos .aspx, archivos .ascx, archivos de configuración y otros archivos de contenido estático. En este modo, el archivo .aspx no se compila y se compila dinámicamente solo cuando el navegador accede a la página. En cambio, todos los archivos de clase de Code-Behind y los archivos de clase independientes del proyecto del sitio web se compilan en un ensamblado de aplicación y se colocan en el directorio Bin. Debido a que es un conjunto de aplicaciones independiente, puede especificar el nombre, la versión y la ubicación de salida del conjunto de aplicaciones. De forma predeterminada, cuando ejecuta o depura cualquier página web, Visual Studio compila completamente el proyecto del sitio web para que pueda ver todos los errores durante la compilación. Sin embargo, durante el desarrollo, la compilación completa de todo el sitio web puede resultar bastante lenta. Por lo tanto, se recomienda que sólo compile la página actual durante el desarrollo y la depuración.