当我将我的asp.net核心Web应用程序发布到我的本地文件系统时,它总是需要使用value ="Production"的production-config和ASPNETCORE_ENVIRONMENT变量.
如何以及在何处设置ASPNETCORE_ENVIRONMENT变量的值,以便它不仅可以用于调试,还可以用于发布?我已经尝试了以下选项但没有成功:
我正在使用 .NET 6 构建一个 API,并计划使用 Serilog 作为记录器。根据https://onloupe.com/blog/serilog-vs-mel/有两种可能性:
一方面,专门使用 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()。
有谁知道这个建议的原因,它在灵活性方面看起来与我相矛盾?
在 Visual Studio 2015 和 2017 中,可以使用插件“生产力强大工具”为每个项目选择单独的选项卡颜色,另请参阅http://dev.goshoom.net/2020/08/colored-tabs-in-visual -工作室/
尽管 Visual Studio 2022 提供了按项目启用选项卡颜色的可能性(菜单“工具”>“选项”>“选项卡和窗口”,并启用“着色选项卡”),但用户似乎无法选择分配给每个项目的颜色。有人知道还有其他选择吗?
根据Scalability in ASP.NET Web APIs with Cancellation Tokens,CancellationTokens 应该仅用于 HTTP GET 请求:
\n\n\n可能产生副作用的请求(例如创建、更新或删除数据)也应该保持原样,因为如果请求在错误的时刻中断,则存在损害系统数据完整性的真正风险,尤其是在该操作有多个内部步骤。这使得我们只剩下无效请求,即那些只获取数据但在完成后不修改任何内容的请求,尽管指标和日志也一样。换句话说,如果实现正确,HTTP GET 请求。
\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 …
我有一个执行以下操作的控制器:
[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) 我们有一个ASP.NET Core 1.1应用程序,它分为3层:
我们有一些BLL的方法和一些需要配置中的值的DAL.我看到两种可能性来传递它们所需的值:
哪两种可能性更值得推荐?
在我使用 bootstrap 3.3.6 完成的网站上,我有下图所示的选项卡。加载页面时,默认显示第一个选项卡(包含登录表单)。我想在加载页面时将焦点设置在电子邮件地址的输入字段(下图中的第一个)中。不幸的是,以下 jquery 代码似乎不被考虑:
$(document).ready(function () {
$("#txtLoginAccountEmail").focus();
});
Run Code Online (Sandbox Code Playgroud)
当焦点必须设置到选项卡内容内部的输入字段时,还有什么需要考虑的吗?例如选项卡中的任何事件或其他...