小编bao*_*uss的帖子

垫排序不适用于垫子桌子

我的mat-table工作正常,但是按照官方api文档添加mat-sort时,它在ngAfterViewInit失败,并显示以下消息

无法在ViewFeedbackComponent.ngAfterViewInit上设置未定义的属性“ sort”

关于此问题已经有一个SO帖子(请参阅以下链接)Mat-table Sorting Demo不起作用,但是我仍然无法使它起作用。

有人发现问题了吗?官方示例使用组件本身中定义的“静态” MatTableDataSource,但是我从后端进行查询。

任何帮助是极大的赞赏!

MatSortModule已导入到app.module.ts中,mat-sort-header指令已应用于列,并且ngAfterViewInit已与官方示例中的完全相同...

import {  Component,  OnInit,  ViewEncapsulation,  ViewChild,  AfterViewInit} from '@angular/core';
import {  Feedback} from '../../../../../models/feedback';
import {  FeedbackService} from '../../services/feedback.service';
import {  MatTableDataSource,  MatSort} from '@angular/material';


@Component({
  selector: 'app-view-feedback',
  templateUrl: './view-feedback.component.html',
  styleUrls: ['./view-feedback.component.css'],
  encapsulation: ViewEncapsulation.Emulated
})
export class ViewFeedbackComponent implements OnInit, AfterViewInit {

  feedbacks: Feedback[] = [];
  showSpinner: boolean = true;
  displayedColumns: String[] = [
    'id',
    'user',
    'timestamp',
    'stars'
  ];
  dataSource: MatTableDataSource < Feedback > ;

  @ViewChild(MatSort) sort: MatSort; …
Run Code Online (Sandbox Code Playgroud)

angular-material angular angular-cdk

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

如何为Mongo API禁用Cosmos DB分片密钥

我正在将一个非常简单的mongo数据库(夫妇100个条目)迁移到Azure Cosmos DB。我的应用程序基于node-js,所以我使用猫鼬作为映射器。在非常简单之前,先定义架构,查询集合并完成。

现在,当在cosmos db中设置集合时,有人问我分区键和分片键的问题。我可以忽略的第一个,但最后一个是必需的。快速阅读有关该主题的内容并了解它是一种分区(再次,我不需要也不想),我只是选择_id作为分片键。

当然有些东西行不通。

虽然查找查询工作正常。更新或插入记录失败,以下是错误:

MongoError:命令中的查询必须针对单个分片键

Cosmos db(使用mongo API)被广告宣传为我的替代产品。显然不是这种情况,因为我从来不需要担心mongo中的这类事情,尤其是对于这么小的app / db。

因此,我可以以某种方式禁用分片吗?另外,我如何定义分片键,而不用担心它呢?

干杯

sharding azure-cosmosdb azure-cosmosdb-mongoapi

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

在 Node.js 中验证 Azure idToken

我在验证 v2 终结点颁发的 Azure idtoken 的令牌签名时遇到问题。

我已阅读文档(https://learn.microsoft.com/en-us/azure/active-directory/develop/v1-id-and-access-tokens#validating-tokens),还有一些示例代码,但这指的是 TS/JS 以外的语言。

目前我的代码是

import {
  decode,
  verify
} from 'jsonwebtoken';

const token = 'myRand0mIdtoken...meh';
const key = 'key from -->'; // https://login.microsoftonline.com/common/discovery/v2.0/keys
console.log(
  decode(token), //works fine!
  verify(token, key) //JsonWebTokenError: invalid algorithm
);
Run Code Online (Sandbox Code Playgroud)

我该怎么办呢?解码有效,但验证无效。

站点https://login.microsoftonline.com/common/discovery/v2.0/keys指向包含“keys”数组的 JSON 文档。这包含多个关键对象。其中,我使用了“kid”值与 idToken 标头中的“kid”值匹配的元素。

该元素中有两个字段:x5t 和 x5c,它们看起来像公钥。我两种都尝试过,但没有运气。

亲切的问候

node.js jwt azure-active-directory

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

VS 代码片段替换(转换)适用于变量而不是占位符

vs 代码据说支持用户定义的片段中的变电站,即转换。但它只适用于(内置)变量而不是占位符。

请参阅以下代码段:

"substitution test" : {
    "prefix" : "abc",
    "body": [
        "${TM_FILENAME}",
        "${TM_FILENAME/^([^.]+)\\..+$/$1/}",
        "${TM_FILENAME/^([^.]+)\\..+$/${1:/capitalize}/}",
        "${TM_FILENAME/^([^.]+)\\..+$/${1:/upcase}/}",
        "${2:showMeInAllCapsWhenReferenced}",
        "${2/upcase}"
    ]
}
Run Code Online (Sandbox Code Playgroud)

第 1-4 行的输出符合预期:

users.actions.ts
users
Users
USERS
Run Code Online (Sandbox Code Playgroud)

在第 5 行有一个占位符,我在第 6 行再次引用它。我希望它显示两次,一次是在我输入时显示,一次是全部大写。所以例如:

fooFoo
FOOFOO
Run Code Online (Sandbox Code Playgroud)

但实际输出是

showMeInAllCapsWhenReferenced
${2/upcase}
Run Code Online (Sandbox Code Playgroud)

是否可以替换/转换引用的占位符(如我输入的那样)?

code-snippets visual-studio-code

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

Oracle 数据库中特定表的脚手架 dbcontext 抛出与该表无关的错误

我正在尝试搭建现有 Oracle 数据库中一个特定表的数据库上下文。

dotnet ef dbcontext scaffold 'data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=some.remote.hostname)(PORT=1337))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SVC_NAME)));user id=USER;password=PASS' Oracle.EntityFrameworkCore --table TABLE_NAME --schema SCHEMA_NAME --use-database-names -f

CLI 然后打印

Build started... Build succeeded.

接下来是大量以下类型的警告消息。该警告中提到的所有表格都与我想要搭建的表格无关。

无法识别表“SCHEMA_NAME.SOME_OTHER_TABLE_NAME”的主键。

无法为表“SCHEMA_NAME.SOME_OTHER_TABLE_NAME”生成实体类型。

一段时间后抛出异常

System.InvalidOperationException: The types of the properties specified for the foreign key {'SOME_COLUMN'} on entity type 'SOME_TABLE' do not match the types of the properties in the principal key {'SOME_OTHER_COLUMN'} on entity type 'SOME_TABLE'.
   at Microsoft.EntityFrameworkCore.Metadata.Internal.ForeignKey.AreCompatible(IReadOnlyList`1 principalProperties, IReadOnlyList`1 dependentProperties, EntityType principalEntityType, EntityType dependentEntityType, Boolean shouldThrow)
   at Microsoft.EntityFrameworkCore.Metadata.Internal.ForeignKey.AreCompatible(EntityType principalEntityType, EntityType dependentEntityType, MemberInfo navigationToPrincipal, MemberInfo navigationToDependent, …
Run Code Online (Sandbox Code Playgroud)

oracle ef-core-2.1 .net-core-3.1

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

在Promise链中返回多个值的最佳方法是什么

我确实意识到,当在.then()处理程序中返回非承诺时,它会立即传递到下一个处理程序,如果返回了一个promise,则在执行promise传递给它之前,将暂停执行该promise以进行解决。下一个处理程序。

我也知道,一个承诺只能返回一个值。

那只蜜蜂说,我将如何从一个.then()处理函数返回多个参数到下一个?Esepcailly,如果它是承诺和非承诺的混合。目前,我将所有内容放入自定义对象中,将其返回,并在随后的then()处理函数中使用async await来解决承诺。

然后是使用已解决的承诺值和非承诺值一起进行一些工作。

这很好用,但是我的直觉说这不是应该的方式……也许?

例:

const current = 'blah';
const previous = 'blubb';

this.doSomeAsyncWork()
.then(
    result => {
        const nonPromiseValue = new domSomethingSynchronous(current, previous);
        // "custom object, mix of promises and non-promises"
        return {
            nonPromise: nonPromise,
            promiseA: ControllerA.asyncOperationA(current, nonPromiseValue.someProperty),
            promiseB: ControllerB.asyncOperationB(nonPromiseValue.someOtherProperty),
        }
    }
)
.then(
    async x => {
        const nonPromiseValue = x.nonPromiseValue;
        const valueA = await x.promiseA;
        const valueB = await x.promiseB;

        // do something with the results of those three variables

    }
)
.catch(
    // …
Run Code Online (Sandbox Code Playgroud)

javascript return promise

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

错误 NU***0***:无法找到包 &lt;packageId&gt;。源中不存在具有此 id 的包:github、nuget.org

使用公共 NUGET.ORG 包以及我的组织自己的 nuget Github Packages 注册表中的包的项目可以在本地正常恢复,但无法在 Github Action 中执行此操作。以下是操作 yml 的摘录:

name: workflow1

on:
  push:
    branches: [ main ]

jobs:

  build:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: write
      packages: write
      issues: write

    steps:
      - name: Check that shit out
        uses: actions/checkout@v3
      
      - name: Set that shit up
        uses: actions/setup-dotnet@v2
        with:
          dotnet-version: '6.x.x'

      - name: Build that shit
        run: |
          dotnet nuget add source https://nuget.pkg.github.com/myorg/index.json -n github -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text
          dotnet restore ./project.sln
          dotnet …
Run Code Online (Sandbox Code Playgroud)

.net nuget github-actions github-package-registry

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

EF核心请求无法唤醒Azure Sql(无服务器SKU)数据库并超时

我将 EF Core 与我的一个应用程序一起使用来查询 Azure Sql 数据库。它是无服务器 SKU,在 1 小时不活动后缩减至零(进入睡眠状态)。

现在,在该应用程序中,有预定的功能可以在某些时间点查询数据库。这通常是在数据库休眠的时候。为了弥补这一点,我在 DbContext.cs 中使用以下内容

optionsBuilder.UseSqlServer(connection, opt => opt.EnableRetryOnFailure(
    maxRetryCount: 20,
    maxRetryDelay: TimeSpan.FromSeconds(30),
    errorNumbersToAdd: null
));
Run Code Online (Sandbox Code Playgroud)

如果延迟均匀分布,则平均为 15 秒,重试 20 次 => 5 分钟后超时。

我认为这应该足够了,因为当使用 SSMS 查询睡眠数据库时,通常需要不到 1 分钟才能开始。然而,事实并非如此,函数经常超时并且查询失败。

有没有比增加超时更好的方法来解决这个问题?5分钟真的不够吗?

干杯

entity-framework-core azure-sql-database

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