Core 2.0缺少脚手架项目

时间:2017-11-21 07:09:41

标签: c# asp.net-core asp.net-core-2.0

我使用用户基本身份验证创建了一个Core 2.0项目,但是在查看默认的AccountController时,只生成了Logout()操作方法。

其他脚手架项目在哪里,如Register(),ForgotPassword(),ExternalLogin()等......

但是,我可以很好地注册用户。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Core2.Data;

namespace Core2.Controllers
{

  [Route("[controller]/[action]")]
  public class AccountController : Controller
  {
     private readonly SignInManager<ApplicationUser> _signInManager;
     private readonly ILogger _logger;

     public AccountController(SignInManager<ApplicationUser> signInManager, ILogger<AccountController> logger)
     {
        _signInManager = signInManager;
        _logger = logger;
     }

     [HttpPost]
     [ValidateAntiForgeryToken]
     public async Task<IActionResult> Logout()
     {
        await _signInManager.SignOutAsync();
        _logger.LogInformation("User logged out.");
        return RedirectToPage("/Index");
     }
  }
}

1 个答案:

答案 0 :(得分:1)

看起来您已经创建了一个Razor Pages ASP.NET核心MVC应用程序:

  

Razor Pages是ASP.NET Core MVC的一项新功能,它使以页面为中心的编码方案更容易,更高效。

如果查看项目中的Pages文件夹,您将看到基于Razor页面的相关用户身份验证操作实现:

Pages
- Account
  - Login.cshtml
  - Login.cshtml.cs
  - Register.cshtml
  - Register.cshtml.cs
  - ...

最新的Visual Studio 2017默认使用ASP.NET Core 2.0时创建Razor Pages应用程序,如下所示:

enter image description here

如果您需要传统的MVC方法,可以选择Web Application (Model-View-Controller)选项,这将生成您期望的控制器,操作等。