我正在尝试更好地理解App-Code文件夹的操作方式,特别是我很好奇App-Code文件夹中的新类如何包含在当前AppDomain中的新对象。是否使用与使用CodeDom编译新对象时相同的方式创建了第二个临时AppDomain?
在许多方面,将新类/对象移动到Web应用程序中的能力非常引人注目。 Rob Connery的MVC Storefront是一个很好的例子。如果您已经使用App-code文件夹部署新功能,是否需要考虑任何权衡或陷阱?
更新:
我找到了article in CoDe Magazine这个有趣的段落:
您的应用程序特定代码可以使用 内联ASPX页面或控件,它 可以进入CodeBeside部分 上课,或者你可以完全创造 APP_CODE中的自治类 夹。 APP_CODE文件夹是 ASP.NET 2.0中的特殊文件夹 项目和任何非页面或 您的控件相关源代码 Web项目必须进入此文件夹。 ASP.NET处理APP_CODE的内容 像一个图书馆项目和编译 将内容分成单独的程序集。 然后引用该程序集 所有页面或目录级别 ASP.NET创建的程序集 您的ASPX / ASCX页面使用任何一个 APP_CODE中定义的类。
我的问题仍然存在 - 是否是第二个支持此库的AppDomain,如果是这样,对性能的影响最小?
答案 0 :(得分:2)
我不知道细节,但它肯定会在不同的动态组件中。一个类不能在另一个AppDomain中。只有一个类的实例可以在另一个AppDomain中,然后从另一个AppDomain访问真的很麻烦(只能通过远程处理)