【发布时间】:2020-10-01 16:07:43
【问题描述】:
我必须在我的 VB.Net 应用程序中编写等待 http 请求的代码,并在请求到来时从中提取 JSON 字符串。
我知道如何处理 JSON 字符串
我知道如何编写并行线程来等待请求。
但我不知道如何捕捉请求
我找到了这个代码:How to wait for multiple async http request
但它是一个旧代码(微软现在说这个例子中使用的类 HttpWebResponse 和 HttpWebRequest 已被弃用),而且在 VB 中似乎很难翻译:有一个类似“foreach(var result in completedTasks.Select( t=>t.Result))" 和 "t" 没有在任何地方定义。
我找到了其他示例,但它们都告诉我们如何从 Vb.Net 发送 Http 请求,我想在 VB.Net 应用程序中接收请求,而不是从 VB.Net 发送。
谁能帮帮我?
谢谢
【问题讨论】:
-
如果您是从头开始编写此应用程序,请从ASP Net Core project开始
-
foreach(var result in completedTasks.Select(t=>t.Result))和 "t" 没有在任何地方定义 - t 是completedTasks列表中任何类型的变量。 VB 中的等价物是这样的Dim strings = {"my", "array", "of", "strings"}strings.Select(Function(str) str & "x")->str是一个字符串,因为strings是一个字符串数组,Select 命令将一个小函数作为参数。定义函数中命名的参数应为 Select 正在操作的集合中对象的类型 -
在这种情况下
str的内容首先是"my",然后是"array",然后是"of",然后是"strings"。结果,这将输出一个序列"myx","arrayx","ofx","stringsx" -
谢谢,我不知道委托的这种写法,我更习惯用单独的方法写,这样更清楚
-
这是一个 c#
{}肯定比 VB 好得多的领域。那些代表只有一行,所以 return 和 end 函数被省去了.. 只要你可以形成一个 lambda,它是一个返回值的单行(或者如果你这样做 @987654336 则不是单行@) 没关系。在我的回答中,它们也可以是单行,只是它们的行很长,所以在 SO 中使它们可读并不总是那么容易
标签: json vb.net httprequest