小编blo*_*s4t的帖子

Get-MsalToken 错误 AADSTS7000218:请求正文必须包含以下参数:“client_assertion”或“client_secret”

这是我的 PowerShell 脚本

$connectionDetails = @{
    'TenantId'    = '****-****'
    'ClientId'    = '****-****'
    'Interactive' = $true
    'Scopes' = '****-****'
    'RedirectUri' = '****-****'
}

$token = Get-MsalToken @connectionDetails

$accessToken = $token.AccessToken

write-output $accessToken
Run Code Online (Sandbox Code Playgroud)

其错误如下:

AADSTS7000218:请求正文必须包含以下参数:“client_assertion”或“client_secret”

为什么我会收到此错误?我该如何修复它?

powershell azure-active-directory azure-ad-msal

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

基于 express 和 react 的应用程序的一般做法是什么。将服务器和客户端代码保存在相同或不同的项目/文件夹中?

我来自微软背景,我总是习惯将服务器和客户端应用程序放在不同的项目中。

现在我正在编写一个客户端 - 服务器应用程序,后端为 express,前端为 react js。由于我完全是这两个工具的新手,我想知道..

一般做法是什么?:

将快递(服务器)代码库和反应(客户端)代码库作为单独的项目?或者将服务器和客户端代码库放在同一个项目中?我想不出这两种方法的任何优缺点。

欢迎您提出宝贵的建议!

PS:请不要将此问题标记为自以为是..我相信有正当理由要求建议。

client-server express reactjs

5
推荐指数
1
解决办法
1105
查看次数

我需要哪些额外的工具才能使用 docker 通过 smtp 服务器发送电子邮件

我正在编写一个 .net core 1.1 控制台应用程序。目标是将其托管为在 docker 容器内运行的计划作业。

控制台应用程序将使用 smtp 服务器并发送电子邮件。就那么简单。

但是,我在 docker 容器内运行应用程序时没有成功。我的假设是,如果我们将 smtp 端口暴露在 docker 容器之外,那么 smtp 服务器就可以正常工作了。

docker run -it -p 25:25 --rm courierreports:demo

尝试连接到 smtp 服务器时,代码抛出异常。我需要任何其他工具才能使我的应用程序正常运行吗?

我的机器运行的是 Windows 7,我正在使用 Oracle Virtual Box for docker。smtp 服务器 ( org.smtp.com) 由我公司提供 我使用的端口25

我得到的错误:

fail: StartupLogs[0]
      An error occurred.
fail: StartupLogs[0]
      Unable to read data from the transport connection: Connection timed out.
fail: StartupLogs[0]
         at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
         at MailKit.Net.Smtp.SmtpStream.ReadAhead(CancellationToken cancellationToken)
         at MailKit.Net.Smtp.SmtpStream.ReadResponse(CancellationToken cancellationToken)
         at MailKit.Net.Smtp.SmtpClient.Connect(String …
Run Code Online (Sandbox Code Playgroud)

smtp exception docker mailkit

5
推荐指数
0
解决办法
1668
查看次数

单独项目中的EF核心迁移-问题

我没有在一个单独的项目中添加ef核心迁移。我在最后提供了项目结构。

DbContext类和迁移在单独的项目中,因此前者是类库,而迁移项目是控制台应用程序。我在迁移项目中添加了对DbContext项目的引用,但是,在运行迁移命令时出现错误

\ EF.BlogsDb.Migrations> dotnet ef迁移添加InitialCreate --project EF.BlogsDb.Migrations.csproj

在程序集“ EF.BlogsDb.Migrations”中未找到DbContext。确保使用正确的程序集,并且类型既不是抽象的也不是泛型的。

我遵循了从此链接提供的建议,但不确定以下内容。

我应该在哪个项目中添加这些行?是迁移项目还是我的Web项目还是DbContext项目?

options.UseSqlServer(
    connectionString,
    x => x.MigrationsAssembly("MyApp.Migrations")); 
Run Code Online (Sandbox Code Playgroud)

为什么我应该从启动程序集添加对迁移程序集的引用?

我应该从哪个位置/文件夹/项目运行此命令?

dotnet ef migrations add NewMigration --project MyApp.Migrations 
Run Code Online (Sandbox Code Playgroud)

如果您可以告诉我该怎么做,我可以分享源代码。

预先感谢您可能提供的澄清!

这是我的项目结构,如下所示:

项目结构

ef-migrations ef-core-2.0

5
推荐指数
1
解决办法
2436
查看次数

Azure Devops:如何在发布管道期间添加自动化集成测试

我有一个分阶段发布管道,它部署到开发,然后部署到分阶段。

我希望我的集成测试项目仅在部署到暂存之前在发布管道期间运行。我怎么做?是否有特定的测试任务可以在分阶段部署之前挂钩?像部署前任务之类的?

azure-devops azure-pipelines azure-pipelines-release-pipeline

3
推荐指数
2
解决办法
6877
查看次数

.NET 6控制台应用程序如何访问配置并获取DbContext的连接字符串

我正在编写一个 .NET 6 控制台应用程序,下面有未完成的代码。我不知道如何从配置中获取连接字符串,以便将其传递给该options.UseSqlServer方法。

我更喜欢使用顶级报表模板。

另外,我应该hostBuilder.Build().Run();在这段代码的末尾调用吗?要不就hostBuilder.Build()?只是想知道有什么区别。

var hostBuilder = Host.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((context, builder) =>
    {
        builder.SetBasePath(Directory.GetCurrentDirectory());
    })
    .ConfigureServices((context, services) =>
    {
        services.AddDbContext<CompanyContext>(options => options.UseSqlServer("<connection string from config"));
    });
Run Code Online (Sandbox Code Playgroud)

console-application dbcontext entity-framework-core .net-6.0

3
推荐指数
1
解决办法
7520
查看次数

mvc 操作方法中泛型类型参数的 dot net core 自定义模型绑定

我正在构建一个简单的搜索、排序、页面功能。我附上了下面的代码。以下是用例:

  1. 我的目标是通过每个请求传递“当前过滤器”以保留它们,特别是在排序和分页时。

  2. 我不想用许多(如果不是太多)参数污染我的操作方法,而是考虑使用保存当前过滤器的通用类型参数。

  3. 我需要一个能够实现此目的的自定义模型绑定器。

有人可以发布一个示例实现吗?

PS:我也在探索替代方案,而不是来回传递复杂的对象。但我需要将此路线作为最后的手段,并且我找不到自定义模型绑定泛型类型参数的好示例。任何指向此类示例的指针也会有所帮助。谢谢!。

public async Task<IActionResult> Index(SearchSortPage<ProductSearchParamsVm> currentFilters, string sortField, int? page)
{
    var currentSort = currentFilters.Sort;
    // pass the current sort and sortField to determine the new sort & direction
    currentFilters.Sort = SortUtility.DetermineSortAndDirection(sortField, currentSort);
    currentFilters.Page = page ?? 1;

    ViewData["CurrentFilters"] = currentFilters;

    var bm = await ProductsProcessor.GetPaginatedAsync(currentFilters);

    var vm = AutoMapper.Map<PaginatedResult<ProductBm>, PaginatedResult<ProductVm>>(bm);

    return View(vm);
}

public class SearchSortPage<T> where T : class
{
    public T Search { get; set; }
    public Sort Sort { get; set; …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc generic-type-argument actionmethod custom-model-binder asp.net-core

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

天蓝色devops中的Pipeline和Release Pipeline有什么区别?

选择以下所示的选项时,将生成一个yaml文件:

在此处输入图片说明

在此yaml文件中,您可以定义从开始的整个部署周期restore -> build -> run tests -> publish and -> deploy to azure app service web app

那么,为什么有发布选项?如果我可以通过Pipelines -> Pipelines选件定义整个生命周期,那么选件的目的是Pipelines -> Releases什么?

在此处输入图片说明

azure-devops azure-pipelines azure-pipelines-release-pipeline

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

C#异步等待:如何为下面显示的示例编写异步方法?

这是代码段,我得到警告:

此异步方法缺少等待操作符,将同步运行。考虑使用await运算符来等待非阻塞调用。

    public async Task<ActionResult> CreateRequest([FromBody] DnsRecordDto RecordRequested)
    {
        var result = IsRecordRequestedNull()
    }

    public bool IsRecordRequestedNull(DnsRecordDto RecordRequested)
    {
        bool flag = false;
        if (RecordRequested == null)
        {
            flag = true;
            _commonRepository.SaveLogItem(Constants.TransactionFailedBadData, Constants.STARTING, transId, LogLevel.Trace);
        }
        return flag;
    }
Run Code Online (Sandbox Code Playgroud)

我不确定如何解决此警告

我是否真的需要用async关键字修饰IsRecordRequestedNull并使其运行异步,因为我是从async方法调用此方法的?

在这种情况下,我应该忽略出现的警告吗?

c# async-await

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

ASP.NET Core 6 Web API:如何区分 HttpGet Verb/Actions 的不同变体之间的路由?

我有这个控制器定义。我收到一个错误,如下所示。如何区分HttpGet动词/动作的几种变体之间的路由?

这个错误似乎很明显,但我想看看如何解决这个问题。谢谢!

操作的冲突方法/路径组合“GET api/Order” - Ordering.Api.Controllers.OrderController.Orders (Ordering.Api)、Ordering.Api.Controllers.OrderController.Orders (Ordering.Api)、Ordering.Api.Controllers。 OrderController.Order (Ordering.Api)。对于 Swagger/OpenAPI 3.0,操作需要独特的方法/路径组合。使用 ConflictingActionsResolver 作为解决方法

控制器:

[Route("api/[controller]")]
[ApiController]
public class OrderController : ControllerBase
{
    private IMediator _mediator;

    public OrderController(IMediator mediator)
    {
        _mediator = mediator;
    }

    [HttpGet("", Name = "Get All Orders")]
    public async Task<ActionResult<IEnumerable<OrderVm>>> Orders()
    {
        // construct query
        var query = new AllOrdersQuery();
        var orders = await _mediator.Send(query);
        return orders;
    }

    [HttpGet("", Name = "Get Orders by Username")]
    public async Task<ActionResult<IEnumerable<OrderVm>>> Orders(string username)
    {
        // construct query
        var …
Run Code Online (Sandbox Code Playgroud)

asp.net-core asp.net-core-webapi .net-6.0

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