服务器代码位于IIS服务器的什么位置?

问题描述 投票:0回答:1

我正在尝试导航托管在 IIS 上的 dotnet 代码库。我只能看到 aspx 文件,而看不到 csharp 文件。我认为某处应该有一个 App_Code 文件夹,但我在 aspx 和其他文件中找不到它。

我有几个问题:

  • 我在aspx代码中没有看到任何业务逻辑,那么应用程序是如何工作的?
  • “runat=server”是如何工作的?

我尝试浏览 IIS 服务器,但找不到任何 csharp 或 vb 代码。我还搜索了安装IIS服务器的机器的C盘。我只能找到一些样板文件和自动生成的 csharp 代码。

asp.net webforms
1个回答
0
投票

嗯,还记得一些 html 页面吗?

asp.net 页面由 vb.net 或 C# 代码驱动。

换句话说,asp.net系统就是应用程序。

当您构建桌面应用程序或其他应用程序时?

好吧,要运行这样的应用程序,然后编译代码,剥离源代码,然后结果就是一些。 dll 包含驱动应用程序的已编译代码和逻辑。

因此,就像任何编译器代码环境一样,当您构建和部署该应用程序时,源代码将被删除。这是 .net 应用程序的核心和灵魂,这种方法适用于 asp.net Web 应用程序。

因此,在大多数情况下,您可以将应用程序移动到新的托管服务器,并且不需要源代码。但是,毫无疑问,通常必须更改数据库连接等(在 web.config 中找到)。

所以,你不会找到源代码,或者所谓的“页面后面的代码”。它们被剥离、删除,这些代码被编译成一些.dll。你可以在bin文件夹中找到这些.dll。

因此,在大多数情况下,您可以自由地将应用程序移动到另一台服务器。但是,除非您有 Visual Studio,并且拥有用于创建应用程序的项目文件,否则您无法修改站点。如前所述,修改该程序需要项目文件、源代码和 Visual Studio 等 IDE。

这和我给你一个桌面程序没有什么不同。你不能真正修改该程序,除非我有用于构建应用程序的项目文件。

因此,您不会找到源代码,因为该代码存在于用于构建应用程序的源项目中,而不是最终编译和部署的应用程序中。

那么,与代表网站的一些简单 HTML 页面不同?

Asp.net Web 应用程序不是这样工作的。因此,您将需要源项目文件。在开发过程中,您会混合使用 .aspx 文件,并且每个文件还将有一个代码文件。该源代码文件用于对应用程序进行任何代码更改所需的所有实际目的。

虽然这是一个很棒的设置?

唯一的缺点是,如果您对 c#(或 vb.net)代码进行一点点更改?那么您必须完全重新部署整个站点,因为使用了这样的代码、子例程调用、类和对象?那么,最终编译的代码必须包含该程序中引用的所有这些位和部分。构建和发布后,所有这些都会产生。然后将 dll 放入 bin 文件夹中。根据所使用的发布选项,您可能会看到/找到大量的。 dll 的,或者如果使用了“合并”选项,那么您只需要一个 .dll,或者至少只需要几个。这很大程度上取决于所使用的库。因此,假设您使用 newton software 或 GhostScript.net(处理 PDF 文件),那么您当然经常会发现其他内容。 dll 包含在项目中,这些附加库 (.dll) 也将在应用程序构建/编译和发布时推送到 bin 文件夹。

Visual Studio 和 asp.net 是一个以代码为中心的开发系统。因此,这样的应用程序不仅仅是基于一些 HTML 标记,而是一个真正的基于对象的开发系统。因此,在编译和构建应用程序时,您看不到最终的源代码。

因此,在大多数情况下,您可以将生成的文件夹移动到另一台计算机。但是,要修改应用程序,您需要原始源代码和用于创建站点的 Visual Studio 项目。您不会在网络服务器上找到该项目或源代码。

© www.soinside.com 2019 - 2024. All rights reserved.