Pregunta

Estoy conectando mi primera aplicación SubSonic 3 (en una interfaz ASP.NET MVC 1.0) y estoy viendo el SimpleRepository de Rob. Estoy usando Castle.Windsor como marco de inyección.

En el inicio de mi aplicación, configuro Castle para vincular un SubSonic SimpleRepository a un SubSonic IRepository. Nada complicado allí. Sin embargo, SimpleRepository tiene una sobrecarga de ctor que toma dos valores: un nombre de cadena de conexión y un conjunto de SimpleRepositoryOptions. Al no haber profundizado demasiado en Castle en el pasado, no está claro si hay una manera de especificar los argumentos de ctor a través de la configuración (o algún otro medio).

En este momento, tengo una implementación personalizada del SimpleRepository que crea explícitamente un SimpleRepository con esos argumentos en su ctor sin parámetros, pero si quiero cambiarlos en cualquier momento, requiere cambiar el código y volver a compilar.

¿Hay alguna forma más elegante de configurar Castle para tomar argumentos de constructor?

¿Fue útil?

Solución

Consulte esta página wiki . Lo que se llama " parámetros " en esa página hay un parámetro constructor (que es un parámetro requerido) o una propiedad (parámetro opcional)

Otros consejos

Si está configurando Windsor usando un archivo XML, define sus argumentos ctor y sus valores de esta manera:

<component id="repository" service="IRepository" type="SimpleRepository" ...>
    <parameters>
        <connectionString>your connection string</connectionString>
        ...
    </parameters>
</component>

Consulte la referencia de configuración de Windsor para obtener más información:

http://www.castleproject.org/container/documentation/ v1rc3 / manual / windsorconfigref.html

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