我有我的asp.net-mvc項目的[Logger]屬性。 這個LoggerAttribute在它的構造函數中需要一個ILoggerService。注入屬性?
對於常規對象(例如我的控制器),它可以工作,但屬性似乎沒有解決。
我該如何讓Turbine注入ILoggerService?
我有我的asp.net-mvc項目的[Logger]屬性。 這個LoggerAttribute在它的構造函數中需要一個ILoggerService。注入屬性?
對於常規對象(例如我的控制器),它可以工作,但屬性似乎沒有解決。
我該如何讓Turbine注入ILoggerService?
您的Logger屬性是一個Action | Result | Error | Authorization過濾器嗎?如果是這樣,您可以使用InjectableFilterAttribute類來指定Turbine爲您注入的過濾器的類型。這樣你可以支持ctor注入你的服務。
要了解如何完成這項工作,請查看隨Turbine一起提供的Filter Injection sample。
屬性參數必須是常量表達式,所以您不能實例化要賦予屬性的對象。
http://msdn.microsoft.com/en-us/library/5y0xyec6.aspx
我會做的是需要你的控制器在它的構造函數接受ILoggerServer和具有渦輪注入到你的控制器的構造函數。
要添加到這個正確的答案,你必須考慮爲什麼這是這種情況。屬性嵌入在程序集的元數據中,並適用於類型,而不是類型的實例。如果屬性參數不是恆定的,則情況就不是這樣。 – jason 2009-12-17 17:06:50
不錯:)重點是我在找什麼 – 2009-12-21 07:56:06