首先,当您说 时ASP
,您指的是旧的(过时的)技术。ASP.NET 就是您在问题中所指的具体内容。
ASP.NET 是一项 Microsoft 技术,它与 IIS 服务器协同工作以提供“Windows 应用程序”类型的网站体验。您的网站逻辑被编译成一个 .NET DLL“类库”。当 Web 请求使用与您的应用程序目录匹配的 URL 到达 IIS 时,IIS 会在内部启动您的应用程序并对其进行维护。
不明白需要上传什么文件
Visual Studio 实际上有一个内置的发布者可供您使用。请参阅Build -> Publish
VS / Web Developer 中的菜单。
我在我的项目中没有看到一个 .aspx 页面,这是我认为 ASP 站点是根据经验构成的。
ASP.NET Web 窗体使用页面的 aspx 扩展,它们的前端呈现组件。另一方面,ASP.NET MVC 使用视图的概念,它不依赖于特定的组件。见下一段。
ASP.NET 和 ASP.NET MVC 有什么不同吗?
是的。不,也许。ASP.NET 包含所有允许 IIS(Web 服务器)运行 Web 应用程序并提供网页的“魔法”。卷可以(并且已经)写在这上面。ASP.NET 还通过 Http Modules 和 Providers 支持许多配置。这些组件是通过 Web 应用程序web.config
文件声明和配置的,通常由 IIS 和 ASP.NET 自动创建和保存。它们共同构成了使 ASP.NET开箱即用的粘合剂。
MVC 建立在现有的 ASP.NET 基础类之上。为了支持模型-视图-控制器模式,一些特性已经被借用,一些特性已经被替换,并且已经创建了不止一些特性。
例如,MVC 为我们提供了支持View Engines
- 一个运行时库,它允许我们以特定格式编写视图(网页)。ASPX 视图引擎在 MVC 启动期间存在。后来出现了 Razor,使用了.cshtml
扩展。MVC 框架的用户也已经实现了各种各样的他们自己的视图引擎。由于 ASP.NET 和 MVC 的模块化特性,这是可能的。
我是否只是上传整个目录,服务器会以与内置测试 ASP 服务器相同的方式处理它?或者网站是否以某种方式编译成几个文件,我只是上传其中一个目录(我想我在某处读过)。
我建议使用Build -> Publish
Visual Studio 中的菜单。如果您的主机支持,您可以使用web deploy
它,但也可以使用 FTP 和文件系统方法。
该bin
文件夹包含在服务器上运行 Web 应用程序所需的类库。该web.config
文件提供了执行此操作的配置。但是,您的视图不会编译到程序集中。它们按原样发布,并由视图引擎延迟渲染。