小编Ily*_*dik的帖子

哪个组件在ASP.NET Core中处理线程分配?

在以前的asp.net版本中,框架负责从线程池中分配所有线程,并且web.config中有一个配置来设置它(最大线程数等).那么哪个组件在新的ASP.NET中负责呢?我没有找到任何特殊的中间件,我想它应该发生在中间件之前,也许在Kestrel中.

c# asp.net-core

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

在 docker (2.2.7) 上找不到最新的 dotnet core 镜像

我现在正在使用这个 docker 镜像:

microsoft/dotnet:2.2.2-aspnetcore-runtime-alpine

我想升级到 2.2.7,但无法在 docker 上找到正确的标签:

这个urlhttps://registry.hub.docker.com/v1/repositories/microsoft/dotnet/tags似乎只有2.2.2作为最新版本。

微软似乎已经转移到他们自己的 docker 存储库 (mcr.microsoft.com/dotnet/core/runtime:2.2),同时维护 docker hub 上的文档?我真的很困惑那里发生的事情。

所以我真的想找到一个与我的原始版本2.2.7相对应的图像,用于aspnet或普通运行时(没有aspnet)

docker .net-core

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

如何观察由于 C# 中另一个等待任务失败而未等待的任务?

我有这个代码:

var task1 = operation1();
var task2 = operation2();


var result1 = await task1;
var result2 = await task2;
Run Code Online (Sandbox Code Playgroud)

我也处理UnobservedTaskException(通过记录它)。我面临的问题是,在 task1 失败并首先等待导致异常后,task2 以错误形式完成,然后我有一个我不想看到的日志条目,因为我已经记录了第一个异常,然后所有后续我对例外不感兴趣。

所以我想知道是否有办法做一些事情,以便在我得到异常后以某种方式“忽略”所有任务。

我知道我可以使用await Task.WhenAll,但缺点是我必须等待所有异常发生,尽管我确信在第一个任务导致异常之后,我不需要等待其他任务作为整体完成操作已经失败。

另一种可能的解决方案是编写 try/catch 并取消所有任务,但这有点麻烦。

PS 这个例子是简化的,我确实有多个任务像这样运行。所以我正在寻找一个适用于任意数量任务的通用解决方案

.net c# task task-parallel-library

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

Asp.Net捆绑不使用.min文件

根据发布模式下的文档,bundler应该使用.min.js文件(如果存在).我通过以下方式添加角度:

bundles.Add(new ScriptBundle(Bundles.Scripts).Include(
                        "~/Content/Scripts/angular.js"));
Run Code Online (Sandbox Code Playgroud)

我在同一个文件夹中有angular.js和angular.min.js.所以根据我的理解,bundler应该只使用angular.min.js并且不做任何事情.但是当我在http响应中检查结果时,它会有所不同.它也缩小了,但所有的名字都不同:

我在浏览器中得到的内容:

(function(n,t,i){"use strict";function v(n)
Run Code Online (Sandbox Code Playgroud)

Angular.min.js

(function(P,X,u){'use strict';function M(b)
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会这样吗?捆绑器是否只是忽略.min文件或者再次缩小.min.js?

PS我试图删除angular.js文件,然后我得到一个空的结果,所以看起来捆绑器根本不关心angular.min.js存在.

c# asp.net asp.net-mvc bundling-and-minification

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

请求匹配多个操作,导致ASP.NET 5/MVC 6中具有不同参数的操作不明确

我的项目中有一条简单的路线:

routes.MapRoute(
      name: "api",
      template: "api/{controller}/{action}");
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有两个动作:

    [HttpGet]
    public string Get(string value)
    {
        return value;
    }

    [HttpGet]
    public string Get(int id)
    {
        return id.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试做一个像api/controller/get?id=1它不起作用的URL ,因为框架无法区分两个动作.据我所知,它在普通的web api中运行得非常好,因为很明显这个url只根据它的参数匹配其中一个动作.我做错了什么或新的MVC6不支持?

c# asp.net-core-mvc asp.net-core asp.net-core-routing

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

Chrome支持Brotli吗?(Accept-Encoding不包含br)

Can I use 页面说Chrome已经支持brotli一段时间了.我认为Accept-Encoding字符串将是这样的:

Accept-Encoding:gzip, deflate, sdch, br
Run Code Online (Sandbox Code Playgroud)

但是我检查了对StackOverflow的请求,例如它不包含brotli:

Accept-Encoding:gzip, deflate, sdch
Run Code Online (Sandbox Code Playgroud)

我想大多数网络服务器都不会真正归还你,brotli如果它不在Accept-Encoding,所以它只是看起来部分支持.

它会在以后添加还是有一些我不知道的技巧?

google-chrome http-accept-encoding brotli

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

在 CloudTable 上执行 ExecuteAsync 后是否应该检查 TableResult 是否有错误代码?

我对 Azure 表存储运行一个简单的命令:

var operation = TableOperation.InsertOrReplace(entity);
await cloudTable.ExecuteAsync(operation);
Run Code Online (Sandbox Code Playgroud)

现在 ExecuteAsync 返回的结果不仅仅是Task,而是Task<TableResult>TableResult包含HttpStatusCode. 这是否意味着该操作可以直接执行而不会引发任何异常,并且状态代码将为 500 或其他内容,而我需要自己验证这些内容?或者我只会得到成功代码和异常。

我找不到任何关于该文件的文档,并且很难从表存储中引发错误来弄清楚它是如何工作的。

PS我Microsoft.WindowsAzure.Storage.Table现在使用,但计划切换到新开发的Cosmos for .Net Core库,但它仍然是测试版。

PPS 已经发现它用于例如未找到元素时的 404,这实际上是预期的而不是例外。另外,错误的键也会导致异常,可能是 403 或 401 的结果。目前还不清楚失败是否会导致异常,但所有都指向将抛出异常的方向。

c# http http-status-codes azure azure-table-storage

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

Asp.Net Core 中的 ExceptionHandlerMiddleware 何时可以将 IExceptionHandlerPathFeature 设为 null

ExceptionHandlerMiddleware Microsoft 在此处提供了此示例。这是摘录:

app.UseExceptionHandler(errorApp =>
{
    errorApp.Run(async context =>
    {
        ...

        var exceptionHandlerPathFeature = context.Features.Get<IExceptionHandlerPathFeature>();

        if (exceptionHandlerPathFeature?.Error is FileNotFoundException)
        {
            await context.Response.WriteAsync("File error thrown!");
        }

        ...
    });
});
Run Code Online (Sandbox Code Playgroud)

我不太明白为什么他们会使用?.运算符来获取异常?可以在没有 的情况下触发该委托IExceptionHandlerPathFeature吗?在没有保证对异常的访问的情况下拥有异常处理程序似乎不合逻辑。

是代码,其中似乎不可能有 null 。

c# exception .net-core asp.net-core

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

Dotnet 发布副本 appsettings*.json 仅适用于 Asp.Net(但不适用于控制台)

我正在dotnet publishASP.Net 项目和控制台项目上运行(通过 VS2019 GUI 或命令,相同的结果)。

看来行为有所不同。所有内容appsettings*.json都会在 ASP.Net 中自动复制,但只有当我将它们设置为<CopyToOutputDirectory>Always</CopyToOutputDirectory>.

这是某种错误还是它真的被设计为根据项目类型而有所不同?

这种行为对我来说看起来有点奇怪。

.net .net-core asp.net-core dotnet-publish

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

Visual Studio Code 显示错误的打字稿错误,这些错误在重新打开文件后消失

Visual Studio Code 向我显示了奇怪的打字稿错误,但这些错误并不真实。当我输入时,VSC 似乎发现语法错误(这可能是真的)。但是当我停止输入并且语法正确时,它仍然显示错误的错误,例如:

[在此输入图像描述

如果我关闭该文件并再次打开它,错误就会消失。许多不同的错误都会发生这种情况,而不仅仅是这个错误。

此外,如果我确实写了一个换行符,即使文本已移动,错误似乎也会“卡在”行/列上。

compiler-errors syntax-highlighting syntax-error typescript visual-studio-code

5
推荐指数
0
解决办法
688
查看次数