真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在ASP.NETCore中注入框架依賴-創(chuàng)新互聯(lián)

怎么在ASP.NET Core 中注入框架依賴?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、電商網(wǎng)站制作開發(fā)、成都微信小程序、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!

1、ASP.NET Core 中的依賴注入

此示例展示了框架級(jí)依賴注入如何在 ASP.NET Core 中工作。 其簡(jiǎn)單但功能強(qiáng)大,足以完成大部分的依賴注入工作??蚣芗?jí)依賴注入支持以下 scope:

  1. Singleton — 總是返回相同的實(shí)例

  2. Transient — 每次都返回新的實(shí)例

  3. Scoped — 在當(dāng)前(request)范圍內(nèi)返回相同的實(shí)例

假設(shè)我們有兩個(gè)要通過依賴注入來進(jìn)行工作的工件:

  1. PageContext — 自定義請(qǐng)求上下文

  2. Settings — 全局應(yīng)用程序設(shè)置

這兩個(gè)都是非常簡(jiǎn)單的類。PageContext 類為布局頁(yè)面提供當(dāng)前頁(yè)面標(biāo)題的標(biāo)題標(biāo)簽。

public class Settings 
{
 public string SiteName;
 public string ConnectionString;
}
public class PageContext
{
  private readonly Settings _settings;
  public PageContext(Settings settings)
  {
    _settings = settings;
  }
  public string PageTitle;
  public string FullTitle
  {
    get
    {
      var title = (PageTitle ?? "").Trim(); 
      if(!string.IsNullOrWhiteSpace(title) &&
        !string.IsNullOrWhiteSpace(_settings.SiteName))
      {
        title += " | ";
      }
      title += _settings.SiteName.Trim();
      return title;
    }
  }
}

2、注冊(cè)依賴

在 UI 構(gòu)建塊中使用這些類之前,需要在應(yīng)用程序啟動(dòng)時(shí)注冊(cè)這些類。該工作可以在 Startup 類的 ConfigureServices() 方法中完成。

public void ConfigureServices(IServiceCollection services)
{
  services.AddMvc();
  var settings = new Settings();
  settings.SiteName = Configuration["SiteName"];
  services.AddSingleton(settings);
  services.AddScoped();
}

現(xiàn)在可以將這些類注入到支持依賴注入的控制器和其他 UI 組件中。

3、向控制器注入實(shí)例

我們通過 Home 控制器中的 PageContext 類分配頁(yè)面標(biāo)題。

public class HomeController : Controller
{
  private readonly PageContext _pageContext;
  public HomeController(PageContext pageContext)
  {
    _pageContext = pageContext;
  }
  public IActionResult Index()
  {
    _pageContext.PageTitle = "";
    return View();
  }
  public IActionResult About()
  {
    _pageContext.PageTitle = "About";
    return View();
  }
  public IActionResult Error()
  {
    _pageContext.PageTitle = "Error";
 
    return View();
  }
}

這種分配頁(yè)面標(biāo)題的方式不錯(cuò),因?yàn)槲覀儾槐厥褂?ViewData,這樣更容易受支持多語言應(yīng)用程序支持。

4、向視圖注入實(shí)例

現(xiàn)在控制器的 action 中分配了頁(yè)面標(biāo)題,是時(shí)候在布局頁(yè)面中使用標(biāo)題了。 我在頁(yè)面的內(nèi)容區(qū)域添加了標(biāo)題,所以在 tech.io 環(huán)境中也很容易看到。為了能在布局頁(yè)面中使用到 PageContext,我使用了視圖注入(下面代碼片段中的第一行)。

@inject PageContext pageContext



  
  
  @pageContext.FullTitle
  
    
    
  
  
    
    
  

...

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。


當(dāng)前題目:怎么在ASP.NETCore中注入框架依賴-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://weahome.cn/article/djgodj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部