加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET 5 MVC(Visual Studio 2015):一个名为Inject的关键字

发布时间:2020-12-16 09:41:31 所属栏目:asp.Net 来源:网络整理
导读:我刚安装了visual studio 2015并玩了ASP.NET 5模板(MVC),我看到了一个名为inject的关键字,它已在视图中使用过.是依赖注入,如果是,它是如何工作的?假设以下代码: [Authorize]public class AccountController : Controller{ private readonly UserManagerApp
我刚安装了visual studio 2015并玩了ASP.NET 5模板(MVC),我看到了一个名为inject的关键字,它已在视图中使用过.是依赖注入,如果是,它是如何工作的?假设以下代码:

[Authorize]
public class AccountController : Controller
{
    private readonly UserManager<ApplicationUser> _userManager;
    private readonly SignInManager<ApplicationUser> _signInManager;
    private readonly IEmailSender _emailSender;
    private readonly ISmsSender _smsSender;
    private readonly ApplicationDbContext _applicationDbContext;
    private static bool _databaseChecked;

    public AccountController(
        UserManager<ApplicationUser> userManager,SignInManager<ApplicationUser> signInManager,IEmailSender emailSender,ISmsSender smsSender,ApplicationDbContext applicationDbContext)
    {
        _userManager = userManager;
        _signInManager = signInManager;
        _emailSender = emailSender;
        _smsSender = smsSender;
        _applicationDbContext = applicationDbContext;
    }

    //
    // GET: /Account/Login
    [HttpGet]
    [AllowAnonymous]
    public IActionResult Login(string returnUrl = null)
    {
        ViewData["ReturnUrl"] = returnUrl;
        return View();
    }
  ...
  }

登录视图有一个注入关键字,如:

@model LoginViewModel
@inject SignInManager<ApplicationUser> SignInManager

@{
   ViewData["Title"] = "Log in";

 }

但是,我没有在其他视图中看到这一点,并且应用程序中没有Ninject和Unity的痕迹.这是什么?一个新的惊人功能?

解决方法

Asp.net 5内置了依赖注入功能,并且附带了很多功能.在您的示例中,您正在注入SignInManager< ApplicationUser>的实例.将SignInManager命名为剃刀视图.

您现在可以像使用Model属性一样使用它:@ SignInManager.Method()

有关更多信息,请参阅此文章:http://blog.tomasjansson.com/asp-net-5-ioc-and-dependency-injection/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读