小编Man*_*rro的帖子

如何使用 ConfigurePrimaryHttpMessageHandler 泛型

我想为 Typed HttpClient 添加一个 HttClientHandler 以包含证书身份验证。

我在网上找到的所有例子都是这样的:

services.AddHttpClient<IMyService, MyService>()
    .ConfigurePrimaryHttpMessageHandler(() =>
    {
        return new HttpClientHandler()
        {
            // Set here whatever you need to get configured
        };
    });
Run Code Online (Sandbox Code Playgroud)

但是我不想在此处包含获取证书的所有逻辑,因此我想使用ConfigurePrimaryHttpMessageHandler<>的通用版本并编写自己的消息处理程序以在请求中包含证书。

问题是我很难理解我应该如何实现消息处理程序......我应该从HttpClientHandler继承吗?

请帮忙!

更新

正如我最初怀疑的那样,@Nkosi 证实,从 HttpClient 处理程序派生是这种情况下的方法。最后的代码类似于:

public class MyHttpClientHandler : HttpClientHandler
{
    private readonly IMyConfiguration _myConfiguration;

    public MyHttpClientHandler(IMyConfiguration myConfiguration)
    {
        _myConfiguration = myConfiguration;

        using (var certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine))
        {
            certStore.Open(OpenFlags.ReadOnly);
            var certCollection = certStore.Certificates.Find(
                X509FindType.FindBySerialNumber,
                _myConfiguration.MyCertificateSerial,
                true);

            X509Certificate2 certificate = certCollection[0];    
            ClientCertificateOptions = ClientCertificateOption.Manual;
            SslProtocols …
Run Code Online (Sandbox Code Playgroud)

c# dotnet-httpclient .net-core httpclientfactory .net-core-2.1

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

在 Angular 中扩展高图表

我在 Angular 项目中使用 highcharts,需要对导出 CSV 功能进行一些操作。

我在 stackoverflow 中找到了一个线程,它似乎解释了我需要做什么:

将源添加到 Highcharts 导出 CSV

但不幸的是它是使用纯 JavaScript 实现的,我无法找出如何在 Angular 组件内扩展 Highcharts。

这就是我想知道如何在 Angular 中实现:

(function (H) {
    H.wrap(H.Chart.prototype, 'getCSV', function (proceed, useLocalDecimalPoint) {
        // Run the original proceed method
        result = proceed.apply(this, Array.prototype.slice.call(arguments, 1));
        result += '\n"My source 1","My source 2","My source 3"';
        return result;
    });
}(Highcharts));
Run Code Online (Sandbox Code Playgroud)

这是JSFiddle中的工作示例

highcharts angular

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

$(function(){})与$(document).ready(function(){})完全等价

可能重复:
这些jQuery就绪函数有什么区别?
是$(function(){}); 和$("document").ready(function(){}); 相同?
用$(函数等)启动javascript代码

今天,在查看一些javascript代码时,我发现代码的某些部分写在一个$(function() { })部分中,而其他部分代码在一个部分内部$(document).ready(function() { }).所以我的第一反应是:好的,有什么区别?

经过一番谷歌搜索后,我在jQuery教程jQuery 入门中找到了下一个语句:

以下是$(document).ready(callback)表示法的快捷方式:

$(function() {
    // code to execute when the DOM is ready
});
Run Code Online (Sandbox Code Playgroud)

现在,问题是:是否$(function() { })完全等同于$(document).ready(function() { })

(还有一个"不太全球化"的间接问题是:我可以安全地将所有代码放在两个部分中的一部分吗?)

javascript jquery

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