2

我试图更好地理解 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,如果是,对性能的影响是否最小?

4

1 回答 1

2

我不知道细节,但肯定会在不同的动态程序集中。一个类不能在另一个 AppDomain 中。只有一个类的实例可以在另一个AppDomain中,然后从另一个AppDomain访问真的很麻烦(只能通过remoting)

于 2009-06-23T17:43:31.933 回答