簡體   English   中英

C#MVC5 AutoFac IoC-根據請求的類進行解析

[英]C# MVC5 AutoFac IoC - Resolve based on requesting class

我正在嘗試在MVC5項目中配置Autofac,以基於請求接口的類返回接口的特定實現。

我使用Laravel框架在PHP上做了很多事情,該框架提供了如下解決方案:

$this->app->when(PhotoController::class)
          ->needs(Filesystem::class)
          ->give(function () {
              return Storage::disk('local');
          });

到目前為止,我的Google搜尋不足了,大部分答案都建議我注入一個Factory(稱為Container),或者注入它自身的Container,然后從那里獲取所需的服務。

真的沒有辦法實現與上述相似的東西嗎?

有一些選項可以注冊條件依賴,Autofac最簡單的方法就是命名注冊(AFAIK):

builder.Register(c => new DiskStorage()).Named<IStorage>("disk");
builder.Register(c => new PhotoController(c.ResolveNamed<IStorage>("disk")));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM