小编Far*_*nif的帖子

ASP .NET Core中的ConfigureServices和Configure之间有什么区别?

docs.microsoft.com上的文档说明如下:

使用ConfigureServices方法向容器添加服务.

使用Configure方法配置HTTP请求管道.

有人可以用简单的例子来解释,通过向容器添加服务以及配置HTTP请求管道意味着什么?

c# asp.net-core

18
推荐指数
2
解决办法
5069
查看次数

如何在 ASP .NET CORE Identity 中通过 SignInManager 登录后获取用户声明?

我有一个 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)

关于可能重复的问题的答案并没有解决我的问题。

c# claims-based-identity asp.net-identity asp.net-core

4
推荐指数
1
解决办法
1万
查看次数

如何在 MS 构建任务中使用 NewtonSoft.json?

我有一个构建任务,我想在其中使用 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 …

.net c# msbuild json visual-studio

2
推荐指数
1
解决办法
2151
查看次数