小编use*_*951的帖子

ASP.NET 核心在单例服务上调用异步初始化

我有一个服务,它在一个名为的方法中从文件中异步读取一些内容 InitAsync

public class MyService : IService {
    private readonly IDependency injectedDependency;

    public MyService(IDependency injectedDependency) {
        this.injectedDependency = injectedDependency;
    }

    public async Task InitAsync() {
        // async loading from file.
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这个服务被注入到我的控制器中。

public class MyController : Controller {
    private readonly IService service;

    public MyController(IService service) {
        this.service = service;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想要一个 MyService 的单例实例。我想在启动时调用 InitAsync。

public class Startup {
    public void ConfigureServices(IServiceCollection services) {
        ......
        services.AddSingleton<IService, MyService>();
        var serviceProvider = services.BuildServiceProvider();
        // perform async init.
        serviceProvider.GetRequiredService<IService>().InitAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

发生的事情是在启动时,创建并 …

c# dependency-injection asp.net-core

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

服务主体如何登录我的 Azure 应用程序服务?

我已按照https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad在我的应用程序服务中启用了身份验证现在,每当我访问我的网站端点时,我都会被重定向到Azure AD 登录页面,输入凭据后即可继续。如何使用服务主体凭据登录?登录页面显然不接受客户端 ID。我是否应该填充一些标头才能使用服务主体凭据发出成功的请求?

见解将受到高度赞赏。

authentication azure azure-web-app-service

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

Azure Active Directory - 使用 Azure CLI 获取访问令牌

我的目标是获取用户对资源的访问令牌(租户中存在的 AD 应用程序)

我已经能够通过使用获取服务主体的访问令牌

az login --service-principal -u -p --tenant --allow-no-subscriptions

az 帐户获取访问令牌 --resource

现在,当我尝试通过用户登录(az登录)切换服务主体登录来为用户实现相同的目标时

登录

az 帐户获取访问令牌 --resource

然而这会给出一个错误

获取令牌请求返回http错误:400和服务器响应:{“error”:“invalid_grant”,“error_description”:“AADSTS65001:用户或管理员尚未同意使用ID为'abc'的应用程序。发送交互式授权请求对于此用户和资源。\r\n跟踪 ID: 19fdf309-f9ef-423b-8c18-7cd9269b0700\r\nr\n时间戳: 2019-11-21 09:03:25Z","error_codes":[65001],"timestamp ":"2019-11-21 09:03:25Z","trace_id":"19fdf309-f9ef-423b-8c18-7cd9269b0700","correlation_id":"2aafc4e4-0c1b-42b3-ba59-afe09bbe9fb5","子错误" :“需要同意”}

有人可以帮助我理解为什么会出现这种情况吗?

提前致谢!

azure azure-active-directory

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

Floyd循环检测的运行时复杂性

根据一些在线资源,我提到弗洛伊德循环检测算法的运行时复杂度为O(n)。说,

p = slow pointer
q = fast pointer
m = the distance from start of linked list to first loop node
k = the distance of the meeting point of fast and slow nodes from the first loop node 
l = length of loop
rp = number of loop rotations by p before meeting q.
rq = number of loop rotations by q before meeting p.
Run Code Online (Sandbox Code Playgroud)

运行时间复杂度应为= m + rp * l + k此值如何为O(n)?

algorithm time-complexity

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

如何在 Java 中使用 S3 VPC 终端节点?

在JAVA中使用S3的VPC端点获取S3对象的方法是什么?我应该使用一个简单的 http 客户端吗?或者有没有办法使用 AmazonS3ClientBuilder 来做到这一点?

amazon-s3 amazon-web-services

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

选择排序的最佳案例时间复杂度

当插入排序和冒泡排序为O(n)时,为什么选择排序O(n ^ 2)的最佳情况时间复杂度?他们的平均时间是一样的.我不明白为什么最好的案例时间是不同的.会感激一些帮助.

algorithm time-complexity selection-sort

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