小编Dar*_*rio的帖子

如何设置ASPNETCORE_ENVIRONMENT以考虑发布asp.net核心应用程序?

当我将我的asp.net核心Web应用程序发布到我的本地文件系统时,它总是需要使用value ="Production"的production-config和ASPNETCORE_ENVIRONMENT变量.

如何以及在何处设置ASPNETCORE_ENVIRONMENT变量的值,以便它不仅可以用于调试,还可以用于发布?我已经尝试了以下选项但没有成功:

  • 在Windows设置中
  • 在.pubxml文件中
  • 在launchSettings.json中
  • 在project.json中

environment-variables production-environment asp.net-core

77
推荐指数
9
解决办法
8万
查看次数

使用带有或不带有 Microsoft.Extensions.Logging 的 Serilog 更好吗?

我正在使用 .NET 6 构建一个 API,并计划使用 Serilog 作为记录器。根据https://onloupe.com/blog/serilog-vs-mel/有两种可能性:

  • 专门使用 Serilog
  • 使用 Microsoft.Extensions.Logging 作为日志 API + Serilog 作为日志框架

一方面,专门使用 Serilog 的缺点是我的代码库中的所有内容都将依赖于 Serilog,因此将其与 Microsoft.Extensions.Logging 结合使用应该提供更大的灵活性。

另一方面,在https://github.com/serilog/serilog-extensions-logging上,他们明确建议对 .NET Core 项目使用https://github.com/serilog/serilog-aspnetcore :

ASP.NET Core 应用程序应该更喜欢 Serilog.AspNetCore 和 UseSerilog()。

有谁知道这个建议的原因,它在灵活性方面看起来与我相矛盾?

serilog microsoft.extensions.logging

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

如何在 Visual Studio 2022 中设置自定义选项卡颜色

在 Visual Studio 2015 和 2017 中,可以使用插件“生产力强大工具”为每个项目选择单独的选项卡颜色,另请参阅http://dev.goshoom.net/2020/08/colored-tabs-in-visual -工作室/

尽管 Visual Studio 2022 提供了按项目启用选项卡颜色的可能性(菜单“工具”>“选项”>“选项卡和窗口”,并启用“着色选项卡”),但用户似乎无法选择分配给每个项目的颜色。有人知道还有其他选择吗?

visual-studio-2022

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

何时将 CancellationToken 传递给控制器​​操作

根据Scalability in ASP.NET Web APIs with Cancellation Tokens,CancellationTokens 应该仅用于 HTTP GET 请求:

\n
\n

可能产生副作用的请求(例如创建、更新或删除数据)也应该保持原样,因为如果请求在错误的时刻中断,则存在损害系统数据完整性的真正风险,尤其是在该操作有多个内部步骤。这使得我们只剩下无效请求,即那些只获取数据但在完成后不修改任何内容的请求,尽管指标和日志也一样。换句话说,如果实现正确,HTTP GET 请求

\n
\n

Andrew Lock 在他的博客文章《在 ASP.NET Core MVC 控制器中使用 CancellationTokens》中也持有相同的观点:

\n
\n

如果请求修改状态,那么您可能不希望在方法中途停止执行。另一方面,如果请求没有副作用,那么您可能希望尽快停止(可能很昂贵)操作。

\n
\n

另一方面,根据在 .NET Core Web API 中使用 CancellationToken,鼓励将 CancellationToken 也传递给 POST / PUT / DELETE 请求:

\n
\n

其优点有很多,其中包括在创建、更新或删除时避免重复记录。

\n
\n

我记得在我过去使用过的几个 .NET Web 应用程序中,CancellationToken 作为参数传递给控制器​​中 GET / POST / PUT / DELETE 请求的所有操作。

\n

上述两个来源中谁是正确的。采用哪种最佳实践?就个人而言,我认为一旦创建/更新/删除数据涉及超过 1 个数据库表/1 个文件/等,向 POST、PUT 和 DELETE …

c# cancellation-token asp.net-core

6
推荐指数
0
解决办法
819
查看次数

如何在集成测试中获取TempData

我有一个执行以下操作的控制器:

[HttpGet]
public IActionResult Index()
{
    return View();
}

[HttpPost]
[Route(
    "/MyShop/OrderDetails/CancelOrder", 
    Name = UrlRouteDefinitions.MyShopOrderDetailsCancelOrder)]
[ValidateAntiForgeryToken]
public IActionResult CancelOrder(MyViewModel viewModel)
{
    var isCancelSuccessful = _orderBusinessLogic.CancelOrderById(viewModel.Order.Id);

    if (isCancelSuccessful)
    {
        //to show a success-message after the redirect
        this.TempData["SuccessCancelOrder"] = true;
    }

    return RedirectToRoute(UrlRouteDefinitions.MyShopOrderDetailsIndex, new
    {
        orderId = viewModel.Order.Id
    });
}
Run Code Online (Sandbox Code Playgroud)

然后,在上面提到的Controller的视图中,我还将包含以下HTML:

<div class="panel-body">
    @if (TempData["SuccessCancelOrder"] != null) 
    {
        //show the message
        @TempData["SuccessCancelOrder"].ToString();
    }
</div>
Run Code Online (Sandbox Code Playgroud)

现在,我正在编写一个集成测试(下面的代码摘要),以检查该CancelOrder()方法是否按预期工作。在这里,我想访问TempData字典的值以检查其正确性。

[TestMethod]
public void MyTest()
{
    try
    {
        //Arrange: create an Order with some …
Run Code Online (Sandbox Code Playgroud)

c# integration-testing asp.net-core-mvc asp.net-core

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

将IConfigurationRoot注入业务逻辑或数据访问层的类是不好的风格?

我们有一个ASP.NET Core 1.1应用程序,它分为3层:

  • 卷筒纸
  • 业务逻辑(BLL)
  • 数据访问(DAL)

我们有一些BLL的方法和一些需要配置中的值的DAL.我看到两种可能性来传递它们所需的值:

  • 将值定义为方法的参数,将它们放入Web层并将它们传递给BLL和DAL
  • 将IConfigurationRoot注入BLL和DAL

哪两种可能性更值得推荐?

.net-core asp.net-core

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

加载页面时如何将焦点设置到 Bootstrap 选项卡内容中的输入

在我使用 bootstrap 3.3.6 完成的网站上,我有下图所示的选项卡。加载页面时,默认显示第一个选项卡(包含登录表单)。我想在加载页面时将焦点设置在电子邮件地址的输入字段(下图中的第一个)中。不幸的是,以下 jquery 代码似乎不被考虑:

$(document).ready(function () {
    $("#txtLoginAccountEmail").focus();
});
Run Code Online (Sandbox Code Playgroud)

当焦点必须设置到选项卡内容内部的输入字段时,还有什么需要考虑的吗?例如选项卡中的任何事件或其他...

在此输入图像描述

jquery twitter-bootstrap twitter-bootstrap-3

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