小编Dev*_*Dev的帖子

Visual Studio 2017"无法连接到Web服务器'IIS Express'"

如果我尝试启动我的.net核心应用程序,我会收到此消息.我知道有很多帖子声称要解决这个问题,但我已经尝试过他们建议的所有方法,但没有一个工作正常.

如果我在调试下进入项目属性并更改端口,那么它将连接一次.然后,如果我再次尝试连接,它将再次给我相同的错误.然后,我可以将端口切换回原始端口,它将加载一次,然后在此之后的任何时间都会失败,直到我再次切换它.任何人有任何想法或修复他们使用?

谢谢!

visual-studio iis-express

23
推荐指数
4
解决办法
2万
查看次数

使用循环限制并发异步请求

我目前正在努力向Web API发出大量请求.我已经尝试过async这个过程,以便我可以在合理的时间内完成,但是我无法限制连接,因此我不会发送超过10请求/秒.我使用信号量进行限制但我不完全确定它在这种情况下是如何工作的,因为我有一个嵌套循环.

我基本上得到了一个模型列表,每个模型都有一个天数列表.我需要在模型中每天提出请求.天量可以从任何地方150,99%时它一定会是1.所以我想要async每个模型,因为它们会有3000它们,但是我希望async在有多天需要完成的情况下.我需要保持或低于10请求/秒,所以我认为最好的方法是在整个操作上设置一个10的请求限制.有没有一个地方可以放置信号量来限制与整个链的连接?

每个单独的请求还必须对2不同的数据部分发出两个请求,而且此API现在不支持任何类型的批处理.

我对c#来说是新手,非常新的async和非常新的,WebRequests/HttpClient所以任何帮助都是值得赞赏的.我试着在这里添加所有相关代码.如果您还需要其他信息,请告诉我.

public static async Task GetWeatherDataAsync(List<Model> models)
{
    SemaphoreSlim semaphore = new SemaphoreSlim(10);
    var taskList = new List<Task<ComparisonModel>>();

    foreach (var x in models)
    {
        await semaphore.WaitAsync();
        taskList.Add(CompDaysAsync(x));
    }

    try
    {
        await Task.WhenAll(taskList.ToArray());
    }
    catch (Exception e) { }
    finally
    {
        semaphore.Release();
    }
}

public static async Task<Models> CompDaysAsync(Model model)
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net semaphore async-await

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

标签 统计

.net ×1

asp.net ×1

async-await ×1

c# ×1

iis-express ×1

semaphore ×1

visual-studio ×1