Mi página base Aspecto:Tipo de página de base personalizada para mis vistas de maquinilla de afeitar, ¿cómo usar windsor de castillo para autoaumentar las propiedades?
namespace ASDF.Mvc.ViewEngines.Razor
{
public abstract class WebViewPage<TModel> : System.Web.Mvc.WebViewPage<TModel>
{
public ISomeHelper SomeHelper { get; set; }
}
}
Mis puntos de vista/web.config
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="ASDF.Mvc.ViewEngines.Razor.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
¿Cómo puedo tener este cableado de tal manera que SomeHelper se conectará usando Castillo.
Esto está volviendo nulo en este momento, He cableado ISomeHelper ya y las cosas funcionan bien para mis controladores/repositorios/clases de servicio.
Supongo que este WebViewPage se llama en algún lugar donde mi contenedor no tiene acceso (como en el nivel de controlador).
¿Cómo hago para que funcione?
¿Cómo funciona la inyección de propiedad en mis controladores? – Blankman
espera, ¿entonces tengo que configurar manualmente las dependencias de SomeHelper para entonces, ¿verdad? – Blankman
@Blankman, la inyección de dependencia funciona en controladores porque ha utilizado una fábrica de proveedor de controlador personalizado que usa windsor para inyectar esas dependencias. En lo que respecta a su segunda pregunta sobre las dependencias de SomeHelper, no necesita configurarlas manualmente. Configura esas dependencias de la misma manera que si fuera una dependencia de controlador. Cuando usas '.Resuelva() 'esto proporcionará automáticamente dependencias registradas. –