Core 2.0 缺少脚手架项目
Core 2.0 missing Scaffolding items
我创建了一个带有 User Base Authentication 的 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");
}
}
}
您似乎已经创建了一个 Razor Pages ASP.NET 核心 MVC 应用程序:
Razor Pages is a new feature of ASP.NET Core MVC that makes coding page-focused scenarios easier and more productive.
如果您查看项目中的 Pages
文件夹,您将看到基于 Razor Pages 的相关用户身份验证操作的实现:
Pages
- Account
- Login.cshtml
- Login.cshtml.cs
- Register.cshtml
- Register.cshtml.cs
- ...
最新的Visual Studio2017在使用ASP.NETCore 2.0时默认创建Razor Pages应用,如下图:
如果您想要传统的 MVC 方法,您可以 select Web Application (Model-View-Controller)
选项,它将生成您期望的控制器、操作等。
我创建了一个带有 User Base Authentication 的 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");
}
}
}
您似乎已经创建了一个 Razor Pages ASP.NET 核心 MVC 应用程序:
Razor Pages is a new feature of ASP.NET Core MVC that makes coding page-focused scenarios easier and more productive.
如果您查看项目中的 Pages
文件夹,您将看到基于 Razor Pages 的相关用户身份验证操作的实现:
Pages
- Account
- Login.cshtml
- Login.cshtml.cs
- Register.cshtml
- Register.cshtml.cs
- ...
最新的Visual Studio2017在使用ASP.NETCore 2.0时默认创建Razor Pages应用,如下图:
如果您想要传统的 MVC 方法,您可以 select Web Application (Model-View-Controller)
选项,它将生成您期望的控制器、操作等。