我有這種情況,用戶沒有登錄的事實阻止了我的控制器的依賴關係的構建。如何解決應用了Authorize屬性的MVC控制器的雞蛋依賴解決方案?
[Authorize]
class MyController : Controller
{
public MyController(MyService service)
{
}
}
class MyService
{
public MyService()
{
// requires information which only
// becomes known after the user logs in
}
}
我的問題是:我可以做一些事來引起MVC框架第一看看授權屬性和然後解決控制器實例?
上面會更理想對我來說比下面的任一:
- 更改爲MyService到能夠處理用戶登錄之前創建的
- 與注射Func鍵
- 切換到服務點
理想情況下,我想翻轉MVC框架中的一個開關,它說:「在解析控制器之前,檢查你是否真的要使用它而不是t oss骨粉出來,由於缺乏授權和指導反正...」
您在哪裏/如何注入服務? –
您可以查看Mark Seeman關於實現抽象工廠的文章:http://blog.ploeh.dk/2012/03/15/ImplementinganAbstractFactory/它涵蓋了這種需求。只要工廠在注射根部定義,它不是真正的服務定位器。 –
你可以指定你的依賴爲懶嗎?例如,autofac讓你注入懶惰。不知道有關統一 –
ChaseMedallion