这是我的 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”
为什么我会收到此错误?我该如何修复它?
我来自微软背景,我总是习惯将服务器和客户端应用程序放在不同的项目中。
现在我正在编写一个客户端 - 服务器应用程序,后端为 express,前端为 react js。由于我完全是这两个工具的新手,我想知道..
一般做法是什么?:
将快递(服务器)代码库和反应(客户端)代码库作为单独的项目?或者将服务器和客户端代码库放在同一个项目中?我想不出这两种方法的任何优缺点。
欢迎您提出宝贵的建议!
PS:请不要将此问题标记为自以为是..我相信有正当理由要求建议。
我正在编写一个 .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) 我没有在一个单独的项目中添加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)
如果您可以告诉我该怎么做,我可以分享源代码。
预先感谢您可能提供的澄清!
这是我的项目结构,如下所示:
我有一个分阶段发布管道,它部署到开发,然后部署到分阶段。
我希望我的集成测试项目仅在部署到暂存之前在发布管道期间运行。我怎么做?是否有特定的测试任务可以在分阶段部署之前挂钩?像部署前任务之类的?
azure-devops azure-pipelines azure-pipelines-release-pipeline
我正在编写一个 .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
我正在构建一个简单的搜索、排序、页面功能。我附上了下面的代码。以下是用例:
我的目标是通过每个请求传递“当前过滤器”以保留它们,特别是在排序和分页时。
我不想用许多(如果不是太多)参数污染我的操作方法,而是考虑使用保存当前过滤器的通用类型参数。
我需要一个能够实现此目的的自定义模型绑定器。
有人可以发布一个示例实现吗?
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
选择以下所示的选项时,将生成一个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
这是代码段,我得到警告:
此异步方法缺少等待操作符,将同步运行。考虑使用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方法调用此方法的?
在这种情况下,我应该忽略出现的警告吗?
我有这个控制器定义。我收到一个错误,如下所示。如何区分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) .net-6.0 ×2
asp.net-core ×2
azure-devops ×2
azure-pipelines-release-pipeline ×2
actionmethod ×1
asp.net-mvc ×1
async-await ×1
c# ×1
dbcontext ×1
docker ×1
ef-core-2.0 ×1
exception ×1
express ×1
mailkit ×1
powershell ×1
reactjs ×1
smtp ×1