asp.net-mvc – AppDomain.GetAssemblies和BuildManager.GetRefere
只是想知道两者之间是否有任何区别,在完全信任asp.net mvc 2应用程序的上下文中。 解决方法.NET Framework会将组合件加载到当前AppDomain中,直到需要它们为止。例如,如果你只从SomeMethod()调用第三方库,第三方DLL通常不会被加载,直到第一次运行SomeMethod()。AppDomain.GetAssemblies()提供已经加载到当前AppDomain中的所有程序集。 BuildManager.GetReferencedAssemblies()返回从Web.config和其他地方引用的所有程序集的列表,并将这些程序集加载到当前的AppDomain中。 这里有一个实例的上述。 > SomeMethod()还没有运行。 在这个例子中,CLR推迟将ThirdParty.dll加载到当前的AppDomain中,直到它是绝对必要的。因为它是必要的执行SomeMethod(),这是当它被加载。 或者: > SomeMethod()还没有运行。 在这里,即使您从未调用SomeMethod(),对BuildManager.GetReferencedAssemblies()的调用已经代表您将第三方库加载到当前的AppDomain中。 当然,这一切都要经过某些优化等,但一般的想法是成立的。 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何在多个Asp.net MVC应用程序中使用通用布
- asp.net – 从单独的配置文件中读取设置
- 在IIS / ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用
- asp.net – CookieContainer和Response.Cookies集合有什么区
- asp.net-mvc-4 – 在一个项目中混合Web Api和ASP.Net MVC页
- asp.net – 应用程序池在iisreset之后无法启动
- 是否有WPF的母版页(如asp.net)的概念?
- asp.net-mvc – 在没有模型的情况下手动将验证添加到文本框
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- 加快ASP.NET中的构建时间