我无法准确理解ASP是什么以及如何上传ASP网站

时间:2012-07-25 00:32:49

标签: asp.net asp.net-mvc-3

截至本周初,我已被要求开始学习如何在ASP中开发网站。我对C#通过XNA有一定的经验,所以对我来说这部分并不是很麻烦。

我一直在关注Music Store Tutorial,它通过设置“ASP.NET MVC 3”应用程序来接收我。

当我在本地运行测试时,我已完成教程并拥有一个正常运行的站点,但我不明白需要上传哪些文件。之前我曾经为ASP网站做过前端更新,但是对于构成网站的文件等等,它们完全不同。

我在项目中没有看到单个.aspx页面,而我认为ASP站点是由经验构成的。我开始认为那些项目不是MVC项目,但可能只是“ASP.NET Web应用程序”风格的项目。

ASP.NET和ASP.NET MVC有什么不同?从我模糊地理解,MVC只是一个包装ASP.NET的框架?另外,是 ASP 还是仅仅是ASP.NET的同义词?最后回到我最初的困惑,当我想启动一个ASP.NET MVC项目时,要将哪些文件上传到服务器上?

我是否只上传整个目录,服务器将以内置测试ASP服务器的方式处理它?或者该网站以某种方式编译成几个文件,我只上传其中一个目录(我想我在某处读过)。

enter image description here

3 个答案:

答案 0 :(得分:4)

ASP是Active Server Pages的首字母缩写。 Pre .NET,ASP是微软第一个迭代脚本化的网页。所有这些页面通常以扩展名.ASP结束。

当.NET发布时,ASP得到了彻底检修并重命名为ASP.NET。新版本的ASP.NET尝试模拟Web开发,类似于Windows应用程序开发,您使用控件和事件处理模型。这是微软多年来网页开发的主要模式,它仍然存在并得到支持,但今天它被称为ASP.NET Web Forms。 ASP.NET Web窗体页面通常具有您提到的.ASPX扩展名。

在2000年代中期,Ruby on Rails开始使用基于MVC的模型开发Web应用程序。几年后,微软发布了一个名为ASP.NET MVC的替代版本的ASP.NET,它使用了类似的概念。许多人认为MVC方法是开发网页的一种比Web表单模型更自然的方法(注意几年前在这个网站上的史诗Q / A线程)。无论如何,ASP.NET MVC与ASP.NET Web Forms共享部件,但外观和工作方式完全不同;一方面,没有.ASPX页面作为MVC,在大多数情况下,使用不同形式的路由来确定要显示的内容。

这是一个非常短暂的历史,掩盖了很多主题。您发布的屏幕截图是ASP.NET MVC项目。

就发布而言,发布ASP.NET网站的典型途径是在Visual Studio中打开项目,选择Build | Publish,然后告诉VS将其放在何处。根据您使用的方法,您可能必须在发布站点的框中的IIS中进行其他配置。

答案 1 :(得分:1)

您可能熟悉ASP.NET WebForms,这是一个MVC项目。你可以在这里找到更多:

ASP.NET MVC

要上传网站,您需要将网站从Visual Studio内部发布到本地文件位置,然后将所有内容上传到网站。

如果目标服务器没有安装MVC,您可以右键单击Visual Studio中的网站项目,然后选择“添加可部署的依赖项”。

这将确保服务器具有运行MVC项目所需的所有文件。

答案 2 :(得分:1)

首先,当你说ASP时,你指的是旧的(过时的)技术。 ASP.NET特别是您在问题中提到的内容。

ASP.NET是一种Microsoft技术,它与IIS服务器协同工作,为网站提供“Windows应用程序”类型体验。您的网站逻辑被编译到.NET DLL“类库”中。当Web请求使用与您的应用程序目录匹配的URL访问IIS时,IIS会在内部启动您的应用程序并对其进行维护。

  

我不明白需要上传哪些文件

Visual Studio实际上有一个内置的发布者可供您使用。请参阅VS / Web Developer中的Build -> Publish菜单。

  

我在项目中没有看到单个.aspx页面,这就是我认为ASP站点是由经验构成的。

ASP.NET Web窗体使用页面的aspx扩展,即它们的前端渲染组件。另一方面,ASP.NET MVC使用Views的概念,它不依赖于特定组件。见下一段。

  

ASP.NET和ASP.NET MVC有什么不同吗?

是。不,也许吧。 ASP.NET包含允许IIS(Web服务器)运行Web应用程序并提供Web页面的所有“魔力”。卷可以(并且已经)写在这上面。 ASP.NET还通过Http模块和提供程序支持很多配置。这些组件是通过Web应用程序web.config文件声明和配置的,通常由IIS和ASP.NET自动创建和保留。它们共同构成了使ASP.NET只是工作开箱即用的粘合剂。

MVC建立在现有的ASP.NET基础类之上。一些功能已被借出,一些功能已被替换,并且为了支持模型 - 视图 - 控制器模式,已经创建了一些功能。

例如,MVC为我们提供了对View Engines的支持 - 一个运行时库,它允许我们以特定格式编写视图(网页)。 ASPC视图引擎在MVC发布期间存在。后来Razor使用了.cshtml扩展名。 MVC框架的用户也实现了各种各样的视图引擎。由于ASP.NET和MVC的模块化特性,这是可能的。

  

我是否只上传整个目录,服务器将以内置测试ASP服务器的方式处理它?或者该网站以某种方式编译成几个文件,我只上传其中一个目录(我想我在某处读过)。

我建议使用Visual Studio中的Build -> Publish菜单。如果主机支持,您可以使用web deploy,但也可以使用FTP和文件系统方法。

bin文件夹包含在服务器上运行Web应用程序所需的类库。 web.config文件提供了执行此操作的配置。但是,您的视图不会编译到程序集中。它们按原样发布,并由视图引擎延迟呈现。