docs.microsoft.com上的文档说明如下:
使用ConfigureServices方法向容器添加服务.
使用Configure方法配置HTTP请求管道.
有人可以用简单的例子来解释,通过向容器添加服务以及配置HTTP请求管道意味着什么?
我有一个 ASP .NET Core 2.0 项目,在其中使用 Microsoft 的身份框架进行身份验证/授权。我有以下方法可以根据用户名和密码验证用户并返回声明计数。我尝试登录的用户在数据库中找到,但它的声明在这里返回 0 - 在数据库中,确实存在针对该用户的声明(参见图片)
)。
[HttpPost("login")]
public async Task<object> Login([FromBody] LoginDto model)
{
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false);
if (result.Succeeded)
{
var appUser = _signInManager.UserManager.Users.SingleOrDefault(r => r.Email == model.Email);
var userClaims = await _signInManager.UserManager.GetClaimsAsync(appUser); // this is returning 0 claims
return Ok(HttpContext.User.Claims.Count());
}
throw new ApplicationException("INVALID_LOGIN_ATTEMPT");
}
Run Code Online (Sandbox Code Playgroud)
关于可能重复的问题的答案并没有解决我的问题。
我有一个构建任务,我想在其中使用 newtonsoft.json 执行一些 json 序列化/反序列化,如下所示:
<UsingTask TaskName="ReplaceFileText" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<TargetFilename ParameterType="System.String" Required="true" />
<SourceFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Code Type="Fragment" Language="cs">
<![CDATA[
string sourceJsonString = File.ReadAllText(SourceFilename);
string targetJsonString = File.ReadAllText(TargetFilename);
dynamic sourceJson = JsonConvert.DeserializeObject(sourceJsonString);
dynamic targetJson = JsonConvert.DeserializeObject(targetJsonString);
targetJson.firstProperty = sourceJson.firstProperty;
targetJson.secondProperty = sourceJson.secondProperty;
targetJsonString = JsonConvert.SerializeObject(targetJson, Formatting.Indented);
File.WriteAllText(targetFilename, targetJsonString);
]]>
</Code>
</Task>
</UsingTask>
<Target Name="TransformsWithStaging" BeforeTargets="Build">
<ReplaceFileText TargetFilename="$(ProjectDir)appsettings.json" SourceFilename="$(ProjectDir)appsettings.Staging.json" />
</Target>
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为我在上面的任务中使用了 NewtonSoft.Json,但在这个构建任务中没有引用。
如何在构建任务中导入或引用 NewtonSoft.Json。我使用的是 Visual Studio 2017 …