Pregunta

Tengo un proyecto dll de C # para el que tengo que almacenar las configuraciones de tiempo de ejecución en un archivo XML externo, y este dll se usará en una aplicación MVC ASP.NET/ASP.NET para la cual también tengo que almacenar el tiempo de ejecución configuración en un archivo externo.

¿Qué contenedor de IoC se puede usar para crear un objeto con la configuración de tiempo de ejecución cargada desde un archivo externo específico (o app.config / web.config), y también funciona para aplicaciones web que se ejecutan con confianza media? Cualquier tutorial / tutorial sería muy apreciado.

Hasta ahora he encontrado solo estos artículos:

Actualizar

Estoy enviando correos desde mi DLL a un número variable de servidores SMTP, según el tipo de registro actual. Para el tipo A, estoy usando un puerto + servidor SMTP dado, para el tipo B, estoy usando un conjunto alternativo de valores de puerto + servidor. Por supuesto, quiero poder modificar esos valores después de la implementación, por lo que los almaceno en un archivo XML.

Si estoy almacenando la configuración de SMTP como una clase de configuración de SMTP con 2 propiedades (SMTPServer como String y SMTPPort como Int32), ¿es posible devolver desde un contenedor IoC el objeto requerido según el tipo de registro dado y qué es ¿La mejor manera de leer la configuración del tiempo de ejecución para construir el objeto que regresa?

Actualización2

Digamos que estoy almacenando en el archivo de configuración los siguientes parámetros: ASMTPServer, BSMTPServer, ASMTPPort, BSMTPPort. Puedo usar Castle DictionaryAdapter para leer todas esas configuraciones como propiedades de una clase de configuración de la aplicación.

¿Cuál es el método recomendado para especificar que la clase SMTPConfiguration requerida debe usar los valores ASMTPServer y ASMTPPort si estoy usando un registro de tipo A como parámetro (y debería usar los valores BSMTPServer y BSMTPPort si estoy usando un registro de tipo B como un parámetro)? Además, ¿cómo puedo especificar que la configuración de la aplicación es necesaria en este proceso?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top