Estoy cargando ensambles usando Assembly.LoadFile (assemblyFilePath) en un bucle y quiero evitar llamar a Assembly.LoadFile si el ensamblado ya se ha cargado una vez. ¿Debería preocuparme si llamo a Assembly.LoadFile repetidamente por una DLL que ya ha sido cargada? Gracias.¿Cómo puedo evitar cargar dinámicamente un conjunto que ya he cargado usando Reflection?
Respuesta
No, no necesita preocuparse porque si una asamblea ya se ha cargado no se cargará de nuevo
Si llama Assembly.LoadFile(), puede cargar la misma Asamblea múltiples veces, pero solo si está cargando ensamblados desde diferentes rutas cada vez. Puede usar Assembly.Load() que cargará un conjunto solo una vez. También se puede encontrar sobre los ensamblados ya cargados en el dominio de aplicación actual utilizando
Assembly[] asms = AppDomain.CurrentDomain.GetAssemblies();
Y parece que Assembly.LoadFile es al menos tan eficiente para descubrir que el ensamblado está cargado (probablemente sea más eficiente) que la enumeración manual a través de AppDomain.CurrentDomain.GetAssemblies(). – DeCaf
Por lo dado dominio de aplicación, puede llamar GetAssemblies
y ver si está cargado.
- 1. Scala: ¿Cómo puedo instanciar dinámicamente un objeto e invocar un método usando reflection?
- 2. ¿Cómo volver a un UIViewController que ya está cargado?
- 3. Como página, ¿puedo decir si he sido cargado en un iframe usando javascript?
- 4. ¿Por qué MiniProfiler carga jquery-1.7.1 aunque ya he cargado eso en la página?
- 5. ¿Cómo construir dinámicamente un nuevo protobuf a partir de un conjunto de descriptores ya definidos?
- 6. ¿Cómo puedo diferir dos archivos mientras ignoro los diffs que ya he marcado como conocidos?
- 7. Cargar un CBitmap dinámicamente
- 8. ¿Cómo puedo emitir código e inyectarlo en un ensamblaje cargado?
- 9. ¿Cómo puedo reescribir el historial para que todos los archivos, excepto los que ya he movido, estén en un subdirectorio?
- 10. Haciendo que Firebug se rompa dentro de javascript cargado dinámicamente
- 11. ¿Cómo puedo cargar un conjunto Hibernate-mapped como un conjunto no modificable?
- 12. ¿Cómo puedo cargar un archivo usando Catalyst?
- 13. Evitar el código de usuario llamando a Reflection en C#
- 14. ¿Se puede descargar JavaScript cargado dinámicamente?
- 15. módulo wsgi_module ya está cargado, omitiendo
- 16. Type.GetType no puede crear tipo de montaje ya cargado
- 17. ¿Cómo puedo evitar que R cargue un paquete?
- 18. ¿Cómo se ejecuta un bloque de JavaScript cargado dinámicamente?
- 19. Cómo cargar y descargar dinámicamente un complemento de TinyMCE
- 20. ¿Cómo puedo añadir un contador de rendimiento a una categoría ya he creado
- 21. Cómo cargar dinámicamente un jpeg/jpg progresivo en ActionScript 3 usando Flash y saber su ancho/alto antes de que esté completamente cargado
- 22. Cómo cargar CSS usando jquery
- 23. ¿Cómo invoco un método estático privado usando reflection (Java)?
- 24. Filtrar duplicados de un conjunto de datos cargado en SSIS
- 25. ¿Cómo puedo descargar dinámicamente un archivo javascript?
- 26. ¿Cómo puedo detectar si un iframe está cargado?
- 27. ¿Cómo cambia Mercurial cuando ya he usado hg clone?
- 28. ¿Cómo puedo llenar un NSArray dinámicamente?
- 29. ¿Cómo se actualizan los datos en un documento de mangosta que ya se ha cargado?
- 30. .dll ya cargado en otro cargador de clases?
Load() y LoadFile() carga ensambles en diferentes contextos. ¿Por qué usas LoadFile() si están en una carpeta que se encontraría simplemente por el nombre del ensamblado? Vea estos artículos: http://blogs.msdn.com/b/suzcook/archive/2003/09/19/loadfile-vs-loadfrom.aspx http://blogs.msdn.com/b/suzcook/archive/2003 /05/29/57143.aspx – jishi