src/Library/Consul.AspNetCore/ServiceCollectionExtensions.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Linq;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
namespace Consul.AspNetCore
{
public static class ServiceCollectionExtensions
{
/// <summary>
/// Add default <see cref="IConsulClient"/>.
/// First client can be accessed from DI, to create multiple named clients use <see cref="IConsulClientFactory"/>
/// </summary>
public static IServiceCollection AddConsul(this IServiceCollection services)
{
return services.AddConsul(options => { });
}
/// <summary>
/// Add default <see cref="IConsulClient"/> with configured <see cref="IOptions{ConsulClientConfiguration}"/>.
/// First client can be accessed from DI, to create multiple named clients use <see cref="IConsulClientFactory"/>
/// </summary>
public static IServiceCollection AddConsul(
this IServiceCollection services,
Action<ConsulClientConfiguration> configure)
{
return services.AddConsul(Options.DefaultName, configure);
}
/// <summary>
/// Add named <see cref="IConsulClient"/> with configured <see cref="IOptions{ConsulClientConfiguration}"/>.
/// First client can be accessed from DI, to create multiple named clients use <see cref="IConsulClientFactory"/>
/// </summary>
public static IServiceCollection AddConsul(
this IServiceCollection services,
string name,
Action<ConsulClientConfiguration> configure)
{
services.Configure(name, configure);
services.TryAddSingleton<IConsulClientFactory, ConsulClientFactory>();
services.TryAddSingleton(sp => sp.GetRequiredService<IConsulClientFactory>().CreateClient(name));
return services;
}
/// <summary>
/// Register consul service with default and support only ttl <see cref="IConsulClient"/>.
/// First client can be accessed from DI, to create multiple named clients use <see cref="IConsulClientFactory"/>
/// </summary>
public static IServiceCollection AddConsulServiceRegistration(
this IServiceCollection services,
Action<AgentServiceRegistration> configure)
{
var registration = new AgentServiceRegistration();
configure.Invoke(registration);
后面还有 38 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。