我试图更好地理解 App-Code 文件夹是如何运行的,特别是我很好奇 App-Code 文件夹中的新类如何包含在当前 AppDomain 中。是否以与使用 CodeDom 编译新对象时相同的方式创建第二个临时 AppDomain?
在许多方面,将新类/对象移动到 Web 应用程序中的能力非常引人注目。Rob Connery 的MVC Storefront就是一个很好的例子。如果您使用 App-code 文件夹来部署新功能,是否应该考虑任何权衡或陷阱?
更新:
我在 CoDe Magazine 中找到了一篇文章,其中有一段有趣的段落:
您的应用程序特定代码可以内联到 ASPX 页面或控件,它可以进入 CodeBeside 部分类,或者您可以在 APP_CODE 文件夹中创建完全自治的类。APP_CODE 文件夹是 ASP.NET 2.0 项目中的一个特殊文件夹,您的 Web 项目中的任何非页面或控件相关的源代码都必须进入该文件夹。ASP.NET 将 APP_CODE 的内容视为库项目,并将内容编译为单独的程序集。然后,ASP.NET 从使用 APP_CODE 中定义的任何类的 ASPX/ASCX 页面创建的所有页面或目录级程序集都会引用此程序集。
我的问题仍然存在 - 是否创建了第二个支持此库的 AppDomain,如果是,对性能的影响是否最小?