小编Rod*_*rez的帖子

IN 和 OUT DTO 有命名约定吗?

如果我必须使用 MVC 架构创建某种 API,我就必须为控制器接收的 DTO 和控制器生成的 DTO 确定命名约定,是对的吗?

\n

例如,给出以下代码:

\n
public class InStudentDTO\n{\n    public int Id { get; set; }\n    public List<int> Grades { get; set; }\n}\n\npublic class OutStudentDTO\n{\n    public int Id { get; set; }\n    public bool HasApprovedCourse { get; set; }\n}\n\n[HttpPost]\npublic OutStudentDto StudentHasApprovedCourse(InStudentDto dto)\n{\n    OutStudentDto outStudentDto = _someService.CalculateStudentApprovedCourse(dto);\n    return outStudentDto;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这只是一个愚蠢的示例,但要点是我想在具有该属性的服务内执行一些计算List<int> Grades,并且稍后不在控制器的输出上显示它。因此,据我了解,我应该创建一个全新的 DTO,但不会公开该List<int> Grades属性,对吗?如果是这样,这个“生成的 DTOs\xc2\xa8”的正确命名约定如何?或者应该将它们命名为 Viewmodels?

\n

谢谢!

\n

c# api naming dto viewmodel

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

如何在 Angular 9 中动态删除组件?

我必须创建一个多选过滤器来接受要单击的多个选项值,以便优化后端某些获取 API 端点的响应。

\n

每当用户单击一个选项时,就会动态呈现一个“芯片”组件以感知用户:“嘿,您只需通过这个和那个过滤选项来过滤结果”

\n

在互联网上环顾四周,我发现了这个stackblitz

\n

在此代码示例中,我以某种方式理解了这一行:

\n
let componentFactory = this.CFR.resolveComponentFactory(ChildComponent);\nlet childComponentRef = this.VCR.createComponent(componentFactory);\n
Run Code Online (Sandbox Code Playgroud)\n

我们将给定子组件的实例插入到ViewContainerRef. 找到一个类似这样的对象:

\n
_data: Object { renderElement: <!--  -->, componentView: undefined, viewContainer: {\xe2\x80\xa6}, \xe2\x80\xa6 }\n_elDef: Object { nodeIndex: 4, bindingIndex: 0, outputIndex: 1, \xe2\x80\xa6 }\n_embeddedViews: Array(5) [ {\xe2\x80\xa6}, {\xe2\x80\xa6}, {\xe2\x80\xa6}, \xe2\x80\xa6 ] //here   \n_view: Object { def: {\xe2\x80\xa6}, parent: {\xe2\x80\xa6}, state: 1036, \xe2\x80\xa6 }\n
Run Code Online (Sandbox Code Playgroud)\n

__embeddedViews动态生成的视图将堆叠在对象下的位置

\n

稍后为了决定删除哪些视图,此 stackblitz 的创建者只需获取组件并创建一个ViewContainerRef.indexOf(component)来获取存储组件的索引,并验证动态生成的组件是否存在于该数组中。然后他/她只需删除调用的视图this.ViewContainerRef.remove(index);

\n

有趣的是,在我的实现中,当我登录时,ViewContainerRef我得到这个对象作为响应:

\n …

javascript typescript angular

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

分支中的 Azure .yaml 管道文件策略

我有一个 git 分支策略如下:

分支机构:

experimental-feature integrates to develop

develop integrates to master
Run Code Online (Sandbox Code Playgroud)

在每个分支中,我都有一个名为 azure-pipelines.yaml 的文件,其中包含管道构建的规则,每个规则在每个分支中都不同,因为每个文件都有一个与trigger分支名称匹配的属性名称。

IE:master 分支有一个 azure-pipelines.yml,它有一个名为“master”的触发器属性,因为对于 master 分支上的每个更改,都会触发管道。开发和实验功能也是如此。到目前为止,一切都很好。

develop现在,我不明白为什么当我从git创建拉取请求时,master无法识别每个azure-pipeline.yaml(开发和主控)之间的更改。这很好,因为azure-pipeline.yml开发中的内容总是会覆盖master azure-pipeline.yaml,而我不希望这样。

experimental-feature但是,当我通过拉取请求集成时, gitdevelop的更改确实会识别我不想要的文件之间的更改。

有人可以在这里启发我吗?我在微软文档中也找不到它是如何工作的。

.net git azure azure-devops azure-pipelines

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

为什么我无法在 Whatsapp 云 API 中配置 Whatsapp 的 webhook

有谁知道我为什么一直这样吗?“无法验证回调 URL 或验证令牌。请验证提供的信息或稍后重试。”

我检查的事情:

  1. 应用程序 URL 格式正确
  2. 应用程序响应为 200 并提出挑战
  3. 应用程序具有有效的 TLS 证书

我不知道如何解决该错误

api whatsapp

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

如何禁用 xunit 程序集的并行化

我有一个用 c# 编写的解决方案,.netcore 2.2,测试框架是 xunit,看起来非常像这样:

-src

  --controllers

  --services

-test

  --controllers.integrationtest

  --services.integratiotest
Run Code Online (Sandbox Code Playgroud)

我们正在使用相同数据库(solutionname.test)的两个不同的 dll(controllers.integrationtest.dll 和 services.integrationtest)执行一些集成测试

现在,当我运行"dotnet test"该解决方案时,似乎两个 dll 正在尝试访问相同的资源(数据库),并且一个 dll 出现死锁。

问题是,当我运行“dotnet test”时,我想禁用 dll 的并行执行以避免死锁,所以我搜索了该内容,文档说要禁用 dll 的并行执行,您必须:

  1. xunit.runner.json在我所做的 csproject 的根目录中添加一个并且工作正常。(这是在 Visual Studio 上运行的,因为我用另一个删除测试名称的“_”字符的功能测试了它[methodDisplay]:)

  2. 配置 xunit.runner.json 文件以始终复制或在 Visual Studio 中保留最新版本,以便复制到 bin 文件夹中(与任何 appsetings.json 文件一样)

我读过,您可以在 assemblyInfo.cs 文件中放置一个程序集属性,顺便说一句,该属性似乎已被普通的 csproj 替换,所以我有点困惑。

我想要实现的最终目标是,当 DevOps 使用 dotnet 测试时,集成测试不会因并发问题而崩溃。

c# integration-testing xunit .net-core devops

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

在 rxjs/Observables 范围内,变量名称上的尾随美元符号是什么意思?

我在看这个文件:https : //rxviz.com/examples atpause-and-resume

在第 10 行中,它与以下内容相同:

pauseResume$.pipe(

有谁知道这是什么意思?

frontend observable rxjs angular

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