【问题标题】:ASP.NET does not seem to need a ASPX pageASP.NET 似乎不需要 ASPX 页面
【发布时间】:2013-06-24 12:42:00
【问题描述】:

我正在与其他开发团队合作(我主要是一个 winform 开发人员),我看到了以下内容:

我们的应用程序是一个 ASP.NET 应用程序。此应用程序(解决方案)有一​​个 webfrom 项目 还有几个 VB dll(用于业务和数据层)。

最近更改了一个 ASPX 页面(后面有 VB 代码),

还有这个页面正在使用的一个dll。(VB dll数据层)

所以解决方案构建成功,没有错误。

当他们将此更改部署到网络服务器时,他们只复制了用于数据层的 VB DLL 和 webproject dll。所以只复制了2个dll。

我的问题是为什么我们不需要将 ASPX 文件复制到网络服务器?

【问题讨论】:

  • 你知道aspx页面发生了什么变化吗?
  • 如果您更改了 ASPX 文件 (html),您也必须更新该文件!
  • aspx 页面是否编译为嵌入式资源?见stackoverflow.com/questions/856453/…
  • 据我所知,如果aspx页面有变化,需要和其他文件一起部署。也许回答这个问题的最佳人选是与您合作的开发团队。问他们没什么不好...
  • 编译的站点不需要代码隐藏文件,这些文件被编译成DLL(我认为是在bin中)。这样一来,您的源代码在部署后就不容易获得,这是一件好事

标签: c# asp.net vb.net


【解决方案1】:

这可能有助于您理解问题。 Aspx 页面转换为 dll。

http://forums.asp.net/t/1909746.aspx/1?File+updating+Issue+on+hosting+provider+server+

【讨论】:

  • 我认为这确实很有帮助。基于上面的链接:“当你构建你的项目时,你的代码被构建为一个 dll”所以这是我的假设:假设函数 A 在后面的 VB 代码中发生了变化,然后构建了解决方案。如果您将此 dll 复制到网络服务器,此函数会以某种方式接管 ASPX 页面上现有函数 A 上的任何定义。因为在我们的案例中,新功能有效。
  • 是的。该链接包含我的现实生活问题。将我的网站上传到服务器后。我将对 aspx 页面或后面的代码进行的任何更改都没有影响。如果我删除页面,即使我的网站也能正常工作。然后在专家的帮助下,我理解了逻辑。我通过 bin 目录上传,一切都很好。
【解决方案2】:

好的,这是我到目前为止重新搜索的结果,希望以后的这篇文章的读者会觉得有用。

如果您更改网页 HTML 部分,您确实需要将 ASPX 页面复制到服务器。在这种情况下,复制 Web 项目 DLL 不会反映 HTML 更改。

如果您只更改后面的代码并且“不要触摸”HTML,那么您只需将 DLL 复制到服务器即可。该网站显然不关心 VB 或 C# 文件背后的代码。

请注意,在我的选择中,上述情况是一个非常糟糕的主意,因为现在我们在 Web 服务器上有一个 ASPX.VB 或 ASPX.CS 文件,它们与 dll 有不同的代码。因此,为了保持一致性,所有这些文件都应该一起复制。

【讨论】:

  • 您不必担心一致性问题,文件背后的代码对您运行网站的服务器没有任何意义。如果您愿意,只需删除它们。但是,您需要在源代码控制位置中保持它们的一致性——不管是什么
  • @musefan,谢谢你的评论。你说:“复制文件后面的代码没有任何好处,除了可能因为它比编译更容易”。所以你说如果我们只复制文件后面的代码,它会起作用吗?我们不需要复制网站DLL?我假设即使这样工作它也会变慢,因为文件没有被编译。
  • 其实我的意思是复制所有项目文件,但我不推荐这样做,是的,我希望它能够更快地预编译
猜你喜欢
  • 2016-09-06
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多