作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚安装了 Visual Studio 2015 并使用了 ASP.NET 5 模板 (MVC),我看到了一个名为 inject
的关键字已在 View 中使用。是否用于依赖注入(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";
}
最佳答案
Asp.net 5 带有内置的依赖注入(inject)和许多围绕它的特性。在您的示例中,您正在注入(inject) SignInManager<ApplicationUser>
的实例命名为 SignInManager
进入 Razor 视野。
您现在可以像通常使用 Model 属性一样使用它:@SignInManager.Method()
有关详细信息,请参阅本文:http://blog.tomasjansson.com/asp-net-5-ioc-and-dependency-injection/
关于ASP.NET 5 MVC (Visual Studio 2015) : a keyword called Inject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723006/
我是一名优秀的程序员,十分优秀!