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

阿诺德·扎尼德

我刚刚安装了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的痕迹。这是什么?一个新的惊人功能?

SaphuA

Asp.net 5带有内置的依赖注入及其周围的许多功能。在您的示例中,您要将一个SignInManager<ApplicationUser>named实例SignInManager插入到razor视图中。

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio 2015,ASP.NET 5,MVC 6,Angular 2.0-例外:必须定义令牌

Visual Studio 2015中的ASP.NET Core MVC 2.0

Visual Studio 2013 IntelliSense停止为ASP.NET MVC5控制器工作

如何在Visual Studio 2015 RC中为ASP.NET 5 MVC 6项目设置TypeScript编译器版本?

在ASP.NET MVC 5中创建对象时何时在C#中使用NEW关键字

visual studio 2015 asp.net 5 aurelia,打字稿编译错误

从Visual Studio 2015发布asp.net 5时出现“路径过长”

Visual Studio 2015 ASP.NET 5,Gulp任务未从node_modules复制文件

ASP.net 5 Beta 8无法在Visual Studio 2015中安装

如何使EnumMember在Visual Studio 2015中的ASP.net 5中工作

找不到Visual Studio 2015上的ASP.NET 5 addMvc方法

ASP.Net 5 project.json脚本命令的完整列表?(Visual Studio 2015)

在Visual Studio 2015社区RTM中为ASP.NET 5项目启用SSL

如何在Visual Studio 2015中创建ASP.NET MVC 4项目

MSBuild编译ASP.NET MVC4应用程序-使用Visual Studio 2015设计

如何在Visual Studio 2015中查看asp.net-mvc生成

Visual Studio 2013中的ASP.NET-5

将-ASP.NET MVC 5 Web应用程序(Visual Studio 2017)转换为.exe设置文件

无法在Visual Studio 2013中创建新的MVC5项目或任何其他ASP .NET项目

如何在Visual Studio Community 2013中创建ASP.NET MVC 5 Web应用程序?

“ Visual Studio已为项目添加了ASP.NET MVC 5的完整依赖项集”我可以撤消它吗?

Visual Studio 2015(ASP.NET 5):显示“管理Bower程序包...”上下文菜单

Visual Studio 2015 / TFS 2013不会忽略ASP.NET 5项目中的bower_components

ASP.NET 5 Web应用程序中Visual Studio 2015 RC中的引用错误

F5不适用于Visual Studio 2017 RC中的VS2015 ASP.NET项目

无法在Visual Studio 2015(ASP.NET 5 Web应用程序)中打开发布对话框

Visual Studio 2015是否支持ASP.NET Core?

如何在 ASP.Net MVC 5 应用程序中重置 Visual Studio 提供的 SQL Server 中的主键计数器

ASP.net MVC中URL中的保留关键字,例如CON,PRN,NUL