Jon*_*ney 3 .net c# reflection assemblies appdomain
我有一些代码循环遍历当前加载到在 ASP.NET 应用程序中运行的 AppDomain 中的类型。以下是我获取程序集的方法:
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
Run Code Online (Sandbox Code Playgroud)
当应用程序第一次启动时没有问题,并且我期望的所有类型都存在。但是,当我更新 Web.config 或终止 w3p.exe 进程(或该进程因任何原因被回收)时,只有一些我期望的类型可用。当我使用调试器单步执行时,我注意到私有搜索路径(我的应用程序的 bin 目录)中的某些程序集尚未加载。我假设所有程序集都在应用程序启动和重新启动时加载,无论是否立即需要它们。但在重新启动的情况下,除非这些程序集文件已更新,否则似乎不会发生这种情况。
我需要的是在启动时收集类型信息以供以后使用。但由于在重新启动期间类型不可用,因此当需要使用类型信息时会造成严重破坏。那么考虑到这一点,我该如何解决或解决这个缺陷呢?
| 归档时间: |
|
| 查看次数: |
2311 次 |
| 最近记录: |