【发布时间】:2008-10-16 04:35:51
【问题描述】:
当您将应用程序部署到 IIS 而不包含所有包含代码 (VB/C#) 的文件时, 事件和所有事情究竟是如何处理的?
【问题讨论】:
标签: asp.net deployment
当您将应用程序部署到 IIS 而不包含所有包含代码 (VB/C#) 的文件时, 事件和所有事情究竟是如何处理的?
【问题讨论】:
标签: asp.net deployment
VB 或 C# 编译器将 App_Code 中的 ASPX 页面和类编译为运行时二进制 DLL。对于 Web 项目,每次构建项目时都会创建 DLL;对于网站,DLL 在 c:\Windows 下的临时文件夹中创建。也许这就是让您感到困惑的地方——在您执行“构建”>“发布网站”步骤之前,您看不到网站的 DLL。
如果您在未先发布网站的情况下部署网站,它会神秘地运行!这是因为 ASP.NET 进程隐式调用编译器为每个 ASPX 页面创建相应的 DLL。
您可以通过在网站开发根目录上的开发人员框上创建一个虚拟目录来证明这种行为。然后使用http://localhost/yourappname/yourpagename.aspx 启动一个页面。它运行!没有DLL!它们位于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 下的项目文件夹中。
关于发布过程的更多信息: http://msdn.microsoft.com/en-us/library/1y1404zt(VS.80).aspx
在任何一种情况下,一旦编译,ASP.NET 生命周期就会启动并在事件发生时引发事件。有关该过程的更多信息,请参阅这些链接:
【讨论】: