小编Joz*_*sky的帖子

取消对'HttpClient.SendAsync()'的调用

可以取消拨打电话HttpClient.SendAsync()吗?

我发送的数据如下:

var requestMessage = new HttpRequestMessage(HttpMethod.Post, "some url");
var multipartFormDataContent = new MultipartFormDataContent();
// ... construction of the MultipartFormDataContent. It contains form data + picture file
requestMessage.Content = multipartFormDataContent;
var response = await client.SendAsync(requestMessage).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

此代码完美无缺,但我需要能够根据用户需求取消请求.这可能吗?

我看到有一个超载SendAsync接受了CancellationToken但我不知道如何使用它.我也知道一个叫做的属性IsCancellationRequested,表明请求是否已被取消.但是,如何实际取消请求呢?

.net c# cancellation dotnet-httpclient

3
推荐指数
1
解决办法
4908
查看次数

F#fsx中的命令行参数

.fsx像运行我的文件

>fsi A.fsx
Run Code Online (Sandbox Code Playgroud)

在这个文件中,我用CsvProvider读取了csv,它必须有csv数据的路径.

type Data = CsvProvider<"my_data.txt", ";", Schema
Run Code Online (Sandbox Code Playgroud)

我需要将文件名作为命令行参数传递,这是可能的

 >fsi A.fsx my_data.txt
Run Code Online (Sandbox Code Playgroud)

我可以读它

let originalPath = fsi.CommandLineArgs.ElementAt(1)
Run Code Online (Sandbox Code Playgroud)

问题是,CsvProvider构造函数中使用的文件名需要是常量而命令行参数不是.如何从命令行参数初始化CsvProvider?

f#

3
推荐指数
1
解决办法
835
查看次数

在终端中读取来自 Kafka 的 Avro 消息 - kafka-avro-console-consumer 替代方案

我正在尝试找到如何以可读格式从 Kafka 主题读取 Avro 消息的最简单方法。kafka-avro-console-consumer可以选择通过以下方式使用 Confluence

./kafka-avro-console-consumer \
   --topic topic \
   --from-beginning \
   --bootstrap-server bootstrap_server_url \
   --max-messages 10 \
   --property schema.registry.url=schema_registry_url
Run Code Online (Sandbox Code Playgroud)

但为此我需要下载整个 Confluence 平台 (1.7 GB),我认为这在我的场景中是一种过度杀伤力。

有没有其他方法可以轻松地从终端中的 Kafka 主题获取 Avro 消息?

avro apache-kafka confluent-platform

3
推荐指数
1
解决办法
4971
查看次数

Clickhouse 中计算或生成的列

是否有任何选项如何在 CREATE TABLE 语句中创建计算列?类似于 PostgreSQL 中生成的列

CREATE TABLE people (
    ...,
    height_cm numeric,
    height_in numeric GENERATED ALWAYS AS (height_cm / 2.54) STORED
);
Run Code Online (Sandbox Code Playgroud)

或 T-SQL 中的计算列

CREATE TABLE dbo.Products
(
  ProductID int IDENTITY (1,1) NOT NULL
  , QtyAvailable smallint
  , UnitPrice money
  , InventoryValue AS QtyAvailable * UnitPrice
);
Run Code Online (Sandbox Code Playgroud)

如果没有类似的选择,请问还有什么替代方案?我的目的是在物化视图中使用这些生成的列,而不需要在 MV 创建脚本中计算它们。

sql clickhouse

3
推荐指数
1
解决办法
2740
查看次数

Action <T>和非参数方法

我正在将Action用于稍后在另一个模块中调用的重试操作方法.使用此Action的方法的签名如下

void ShowWarningMessageDialog<T>(string infoMessage, Action<T> retryAction, T parameter);
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我需要发送没有参数的重试方法,当然这是不可能的.我试过这样一个丑陋的解决方案(参数只是假的,不在方法中使用)

public void Authorize(object parameter = null)
Run Code Online (Sandbox Code Playgroud)

另一个选择是定义两个方法,如下所示,但我也不喜欢这样

void ShowWarningMessageDialog<T>(string infoMessage, Action<T> retryAction, T parameter);
void ShowWarningMessageDialog(string infoMessage, Action retryAction);
Run Code Online (Sandbox Code Playgroud)

你有一些模式或建议如何处理它?

c# generics delegates

2
推荐指数
1
解决办法
294
查看次数

F# - printfn Guid

我在F#中有以下打印示例

for row in data.Rows do 
     printfn "Example: (%s)" row.A
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误

Script1.fsx(15,67):错误FS0001:此表达式应具有类型字符串,但此处具有类型Guid

我没有找到任何打印Guid类型的例子.我尝试了应用ToString()方法,row.A但它不能正常工作

f#

2
推荐指数
2
解决办法
835
查看次数

Clickhouse now() 以毫秒为单位

我正在尝试获取 Clickhouse 中的当前日期时间。有一个函数now()可以使用,但精度只有几秒

select now();
-- result 2022-05-05 10:34:48


select toUnixTimestamp(now());
-- result 1651746940
Run Code Online (Sandbox Code Playgroud)

知道如何以毫秒精度获取当前日期时间吗?

datetime clickhouse

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

按平均值标准化Numpy矩阵行

我想按平均值对矩阵行进行标准化,然后我为它编写了这段代码

m = np.matrix(
    [[1,2,3,4,5],
     [2,3,2,5,3],
     [5,5,5,3,2]])

for row in m[:,]:
    average = row.sum() / row.shape[1]
    row = row / average
Run Code Online (Sandbox Code Playgroud)

在循环中,我将行除以平均值.但是这种划分不会改变矩阵m.如何以最简单,最智能的方式实现这种规范化?

python numpy matrix

0
推荐指数
1
解决办法
591
查看次数