.net 相关问题

不要用于有关.NET Core的问题。 .NET框架是一个主要为Microsoft Windows操作系统设计的软件框架。它包括基类库,公共语言运行时(通常称为CLR),公共类型系统(通常称为CTS)和动态语言运行时的实现。它支持许多编程语言,包括C#,VB.NET,F#和C ++ / CLI。

Ping 太慢了

我有 167 个 IP 需要 ping。我将超时设置为 100 毫秒或 1 毫秒,无论我设置什么,我异步/等待,没有异步/等待,使用 Task.Run() 都得到大约 80 秒的相同结果! 列表 我有 167 个 IP 需要 ping。我将超时设置为 100 毫秒或 1 毫秒,无论我设置什么,我 async/await、不使用 async/await、使用 Task.Run() 都得到大约 80 秒的相同结果! List<PingResult> res = new List<PingResult>(); var model = await _toyCityService.GetToyCityViewModel(); foreach (var item in model) { if (!string.IsNullOrEmpty(item.DevIPWIFI)) { bool? pingable = false; try { PingReply reply = await Task.Run(() => new Ping().SendPingAsync(item.DevIPWIFI,100)); if (reply.Status == IPStatus.Success) { long LastDateTimeRec = (item.LastDateTimeRec == null ? 0 : Convert.ToInt64(item.LastDateTimeRec)); var timeMinusFive = DateTime.Now.AddMinutes(-5).ToFileTime(); if (timeMinusFive < LastDateTimeRec) pingable = true; else pingable = null; } else { pingable = false; } } catch { pingable = false; } res.Add(new PingResult() { Id = item.ID, IP = item.DevIPWIFI, Status = pingable }); } } return res; 我已经用这些进行了测试: PingReply reply = await new Ping().SendPingAsync(item.DevIPWIFI,100); PingReply reply = new Ping().Send(item.DevIPWIFI,100); PingReply reply = await Task.Run(() => new Ping().SendPingAsync(item.DevIPWIFI,100,buffer,pingOptions)); 我必须提到的是从foreach起点到返回所花费的时间,从这167个IP中,大多数像其中160个超时,我知道这一点! 但我将超时设置为 1ms 和 100ms。假设是 100,那么在最坏的情况下,应该需要大约 20 秒而不是 80 到 100 秒!您可以使用网络中 160 个超时的 IP 进行测试。 我还在PingReply上设置了断点,看看一切进展如何,一切都进展顺利且快!所有代码不仅仅是 ping 本身。 现在计算1ms!它不应该花一秒钟的时间。 我使用的是最新的 VS2022、Dotnet SDK 8.0.5 和 ASP.Net Core MVC。 我认为你的问题是你“按顺序”等待每一项任务。因此,当您有 100 个任务时,您会在第一个任务完成后有效地触发第二个任务。 您似乎需要的是同时触发所有这些任务并等待所有任务完成。为此,请将每个任务添加到 List<Task> 并使用等待Task.WhenAll: var list = new List<Task>(); foreach(var m in model) { list.Add(new Ping().SendAsync(...)); // no await here } await Task.WhenAll(list); // await all tasks

回答 1 投票 0

C# Ping 太慢了

我有 167 个 IP 需要 ping。我将超时设置为 100 毫秒或 1 毫秒,无论我设置什么,我异步/等待,没有异步/等待,使用 Task.Run() 都得到大约 80 秒的相同结果!!!! 列表<

回答 1 投票 0

.NET Core 中的 SOAP?

如何在 .NET Core 中执行 SOAP? .Net Core 中是否有 Apache CXF 的等效项(不仅仅是简单的 SOAP 客户端,而是全功能堆栈)? 抱歉,如果这是一个非常基本的问题,到目前为止我的搜索......

回答 7 投票 0

如何实现单实例单机应用?

我必须限制我的 .net 4 WPF 应用程序,以便它每台机器只能运行一次。请注意,我说的是每台机器,而不是每会话。 我使用简单的 mu...

回答 4 投票 0

使用 C# 桌面应用程序填写网站表单

我正在尝试使用 C# 桌面应用程序填写网站表单,我使用以下表单作为示例 - https://formsmarts.com/html-form-example 我写了以下代码 - 私人...

回答 1 投票 0

将带有新对象的数据行转换为列表

我有一个现有的项目,它使用 DataTable 来迭代数据并添加到列表中,如下所示: foreach(data.Rows 中的 DataRow 行) { AllDetails.Add(new CustomDetail(row)); } 这需要很多...

回答 1 投票 0

.Net 应用程序运行状况检查在 Fargate 上失败

我有一个 .Net 应用程序,我正在尝试将其部署在 Fargate 上。 目前,来自公共 DNS 的健康检查正在通过,但来自注册用户的各个 privateIps 的健康检查...

回答 1 投票 0

本地化枚举描述属性

在 .net 中本地化枚举描述的最佳方法是什么? (有关枚举描述示例,请参阅向枚举常量添加描述) 理想情况下,我想要一些使用

回答 9 投票 0

如何使用云托管虚拟机在 Azure DevOps 管道中激活 Net Reactor 许可证?

我从 Eziriz 购买了 Net Reactor 6.9,因为他们宣传他们具有 Azure DevOps 管道集成 (https://www.eziriz.com/reactor_features.htm): Net Reactor Azure DevOps 集成 它

回答 2 投票 0

使用.NET 8.0 + Minimal api进行反应,前端将http请求发送到自己的端口而不是后端端口

之前我在.NET 3.1上处理react项目,我只是尝试在.NET 8.0上创建一个新项目,遇到了很多麻烦和误解。我创建了一个新控制器...

回答 1 投票 0

.NET 中的 Google Routes API 突然开始返回空

直到最近,以下代码仍在运行并从路由 API 返回旅行路线。 字符串routesAPIurl =“https://routes.googleapis.com/directions/v2:computeRoutes&quo...

回答 1 投票 0

如何发送到多个电子邮件地址而不在每封电子邮件的“收件人”部分中看到所有电子邮件?

我可以使用.Net中的SendGrid向多个人发送电子邮件,这不是问题。当电子邮件收件人收到他的电子邮件时,他可以看到来自所有其他收件人的所有其他电子邮件地址。 阙...

回答 1 投票 0

如何在.net core类库中注册DI服务?

我想在我的类库项目中添加一些服务,我在 Google 上找到了一些方法 https://mcguirev10.com/2018/01/31/net-core-class-library-dependency-injection.html 。不过,我不...

回答 1 投票 0

Microsoft.ML.OnnxRuntimeGenAI 并行性能

首先我想说我在 ML 方面完全是新手,特别是在 .NET ML 方面。 我在 ONNX 和 .NET 8 API 应用程序中有本地 phi-3 模型 // 程序.cs var builder = WebApplication.CreateB...

回答 1 投票 0

每当在 wpf 中滚动任何一个 ScrollViewer 时,两个 ScrollViewer 就会同步滚动

我已经浏览了该主题: 将两个 VerticalScrollBar 相互绑定 它几乎帮助实现了目标,但仍然缺少一些东西。就是向左移动滚动条-...

回答 6 投票 0

在 Blazor Server 中创建自定义组件

我想创建一个组件,使用户能够从原告列表中**自动完成**,此外还允许他们**创建**一个新原告(如果**找不到结果**)。我知道那...

回答 1 投票 0

未处理的异常:System.IO.FileNotFoundException:在自定义生成的程序集中找不到文件或程序集“System.Private.CoreLib”

我使用.NET 9通过新的emit api以编程方式创建.NET程序集/程序。 我的测试代码如下所示: PersistedAssemblyBuilder assemblyBuilder = new(new AssemblyName("

回答 1 投票 0

.NET MAUI 以编程方式设置图像基本尺寸

我正在开发一个简单的不和谐移动克隆,作为获得 MAUI 经验的一种方式,但是我对 Image 在其中的工作方式感到困惑。要设置图像的 BaseSize,您必须手动添加...

回答 1 投票 0

如何在 VB.NET 中定义具有命名字段的元组

我试图让一个函数返回一个带有命名字段的 ValueTuple,而不是“Item1”、“Item2”等。 查看文档我有以下功能: 公共函数 MyFunction...

回答 1 投票 0

Roblox Web API:身份验证失败“令牌验证失败”提供了 CSRF 令牌

静态异步任务SendPostRequest() { // 创建 HttpClient 实例 使用 (HttpClient 客户端 = new HttpClient()) { // 指定您要将 POST 请求发送到的 URL...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.