【问题标题】:What does "Deployment" mean in ASP.NET?ASP.NET 中的“部署”是什么意思?
【发布时间】:2010-06-22 13:55:02
【问题描述】:

我是一名小型开发人员,我创建的所有 asp.net 解决方案都在小型办公环境中某人的台式计算机上的 IIS 上运行。

当我在 VWD Express(2008 年和 2010 年)中开发解决方案时,我在笔记本电脑上执行此操作,然后将文件(字面意思)复制/粘贴到已指定为“Web 服务器”的计算机上的 wwwroot 文件夹中由一个小办公室经理。完成后,我设置 IIS,将其指向 wwwroot,将计算机(服务器)名称添加到每个人的 Intranet 例外列表中,然后我就完成了。

那么“部署”是在什么时候出现的呢?

期待您的指导。

【问题讨论】:

    标签: asp.net deployment


    【解决方案1】:

    部署的定义取决于几个因素。包括您使用的是哪个版本的工作室,以及您是在构建网站还是 Web 应用程序。

    最纯粹的形式是将这些文件复制到将要运行的位置。

    部署网站通常只是复制文件。部署 Web 应用程序通常涉及将所有代码编译成程序集,并复制 aspx 页面和程序集(没有实际代码)。

    但是,您可以构建更进一步的部署脚本,包括设置 IIS、运行测试、gac'ing 程序集等。此外,脚本可能不仅包括发布当前站点/应用程序,而且如果您有依赖站点,就像网络服务一样,它可能包括同时推送这些服务。

    【讨论】:

      【解决方案2】:

      在我的世界里,部署通常意味着将代码从一个环境迁移到另一个环境。这意味着为编写用于网站的自定义代码编译 DLL,例如站点中的某些代码可能使用域对象或其他类库,以及配置各种文件以便使用正确的数据库,主机名可以在 web.config 和其他由各种处理的东西中设置脚本。例如,从开发环境到测试环境或从 UAT 到生产环境都是部署示例。

      Web Deployment Projects 可能是您需要了解的其他内容,因为它是部署一词的另一种用法。

      【讨论】:

      • 很棒的链接!非常感谢!
      【解决方案3】:

      软件部署是所有 构成软件系统的活动 可以使用。

      部署asp.net网站是指搭建网站,预编译并将预编译好的文件上传到服务器,部署过程还包括配置IIS,如果存在数据库连接。

      但也可以将文件复制到服务器而不进行预编译。

      ASP.NET Deployment 来自 MSDN

      【讨论】:

      • 感谢您的信息。链接也很棒。谢谢!
      【解决方案4】:

      .NET 使用字节码(去 wiki 公共语言运行时)。如果您上传 .aspx 文件,这些文件将被 IIS 监控,并在您每次更改它们时重新编译为新的字节码。仅部署“已编译”字节码版本可能是一个更好的主意,因为您将只有一个版本的源代码不受源代码控制,如果有人试图找到一些安全漏洞,这对他们来说会困难得多。

      【讨论】:

        【解决方案5】:

        了解您何时开发任何应该从 IIS 运行的 asp.net 网站或 Web 应用程序。通常在开发时从默认的 asp.net 开发服务器运行 web 站点,它很有用,直到您的应用程序完成(无错误并准备好生成适当的输出)。在用户想要从浏览器而不是从 asp.net 开发服务器(VS SDK)访问该网站之后。因此,您必须在 IIS 上部署 asp.net 网站,以便浏览器可以通过 URL 为用户访问该网站。如上所述,.NET 使用字节码。因此,当浏览器向 IIS 请求任何 .aspx 页面时,IIS 每次都会将该 aspx.cs 代码重新编译为新的字节码。因此部署代码是 IIS 上的预编译代码存储。它会在不转换的情况下返回。要在 IIS 上放置部署代码,请参阅 Host your ASP.NET web application on IIS 8 ( Windows Server 2012 or Windows 8).

        【讨论】:

          【解决方案6】:

          您的标题是“在 ASP.NET 中”,但我认为它有助于提供一些背景知识。部署基本上适用于生产与开发分开的所有软件,并且应该适用于所有软件。在这种情况下,过去的部署不一定涉及编译。过去,对于非 ASP.Net 软件的应用程序,程序员通常会自己编译软件,并提供编译好的软件。源代码将被复制到生产库中,而可执行文件将被单独复制。部署也叫提升,很多年前我开发了一些简单的提升系统。

          为企业或其他组织使用而开发的软件应具有单独的开发(测试)环境和生产环境,部署是从开发环境复制/移动到生产环境的过程。理想情况下,还会有一个暂存环境,但我不知道这对于 ASP.Net 是否可行。

          【讨论】:

            猜你喜欢
            • 2017-05-07
            • 1970-01-01
            • 2023-01-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多