我使用在另一个管道中工作的 yaml 文件在 Azure DevOps 中创建了一个全新的 CI/CD 管道,没有问题。我将其默认分支设置为 cloud-main,而不是建议的 master。新管道向我显示消息“最近检测到的一些与管道触发相关的问题”。运行管道工作正常。如何消除错误消息?
我正在使用Entity Framework,MVC.如何在一个数据字段的两个标签之间动态更改(基于从另一个数据库检索的有关同一车辆的数据)?理想情况下,我希望我的Model类中有这样的东西(这是伪代码,不希望编译):
[Display(Name = "resCatalyst", ResourceType = typeof(VehiclesModelResource))]
public string Catalyst { get; set; }
...
public void SetElementDisplayName(bool DieselOlderThan2009)
{
if (DieselOlderThan2009)
{
Catalyst.SetDisplayName(Name = "resNMHCCatalyst", ResourceType = typeof(VehiclesModelResource));
}
else
{
Catalyst.SetDisplayName(Name = "resCatalyst", ResourceType = typeof(VehiclesModelResource));
}
}
Run Code Online (Sandbox Code Playgroud)
我确实想过改变cshtml文件中的标签,如下所示:
@if(Model.vltDataOne.FuelType == "D" && Model.vltDataOne.VehicleYear >= 2009)
{
<p>
<b> @Html.LabelFor(model => model.testObd.Catalyst, @DTResource.resNMHCCatalyst) </b>
@Html.DisplayFor(model => model.testObd.Catalyst)
</p>
}
else
{
<p>
<b> @Html.LabelFor(model => model.testObd.Catalyst, @DTResource.resCatalyst) </b>
@Html.DisplayFor(model => model.testObd.Catalyst)
</p>
}
Run Code Online (Sandbox Code Playgroud)
但我正在回应业务规则,我认为它应该在模型中,而不是视图中.有没有办法将这个逻辑移到模型中?感谢您的任何想法/见解.
在决定我想为测试发回什么样的响应之前,有没有办法获取http请求的内容?多个测试将使用此类,每个测试将有多个 http 请求。此代码无法编译,因为 lambda 不是异步的,并且其中有一个等待。我是 async-await 的新手,所以我不确定如何解决这个问题。我曾短暂考虑过拥有多个 TestHttpClientFactories,但这意味着代码重复,因此如果可能,我决定反对它。任何帮助表示赞赏。
public class TestHttpClientFactory : IHttpClientFactory
{
public HttpClient CreateClient(string name)
{
var messageHandlerMock = new Mock<HttpMessageHandler>(MockBehavior.Strict);
messageHandlerMock.Protected()
.Setup<Task<HttpResponseMessage>>("SendAsync", ItExpr.IsAny<HttpRequestMessage>(), ItExpr.IsAny<CancellationToken>())
.ReturnsAsync((HttpRequestMessage request, CancellationToken token) =>
{
HttpResponseMessage response = new HttpResponseMessage();
var requestMessageContent = await request.Content.ReadAsStringAsync();
// decide what to put in the response after looking at the contents of the request
return response;
})
.Verifiable();
var httpClient = new HttpClient(messageHandlerMock.Object);
return httpClient;
}
}
Run Code Online (Sandbox Code Playgroud)