2012-04-11 63 views
4

只需阅读有关在web应用程序项目(described here)中使用codefile = somefile.aspx.cs而不是codebehind = somefile.aspx.cs的可能性。显然这会导致文件仅在加载页面时编译,而不是预编译(对吧?)。在web应用程序项目中使用代码文件

在Web应用程序项目中使用代码文件而不是代码隐藏是否存在任何负面或意外的副作用?

+0

您不应该为生产动态编译。正如在链接文章中所讨论的那样,它确实使开发周期更快一些。 – mellamokb 2012-04-11 17:17:42

+2

其他性能,是否有一个原因,我不应该在生产中动态编译?例如。对于网站项目来说,它似乎没有问题。 – 2012-04-11 17:22:20

回答

3

我认为如果您的网站不是全部或者其他网站,您可能会遇到问题需要支持。 (CodeFile或CodeBehind)

ie如果您试图找出生产站点上的错误处理告诉您在某个文件或命名空间内的问题,则必须停下来检查每个文件并进行控制您在排除故障之前支持您查看页面是作为编译程序集的一部分运行还是从网站上的代码隐藏运行。

如果尝试使用混合环境,也可能遇到冲突或缺少名称空间。

优点,因为我看到它的CodeFile:

  • 你的生产源代码可以坐在你的生产网站。如果代码全部编译在bin目录中的DLL中,那么您并不绝对保证您的开发环境或源代码控制中的代码就是那里的代码。 (当然应该,但如果所有事情都应该如此,我们很多人都不会有修复其他人的代码的工作!)
  • 对于更新,您只需推出单个文件,而不是整个装配。
  • 在重新编译和发布到生产环境之前,您可以在其他页面上取得进展,而这些进展无需退出。

缺点:

  • 既然你不推出编译的程序集,你可能有单独的文件中的错误,这将除非有人访问每个特定页面不一定被抓到或者如果你是确保在部署之前进行编译。
  • 您可能在代码文件中存在冲突的名称空间,这些名称空间可能永远不会被捕获,并可能导致混淆或错误。
  • 动态编译的性能问题
相关问题