本文整理汇总了C#中ServiceCollection.AddSingleServiceAgent方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceCollection.AddSingleServiceAgent方法的具体用法?C# ServiceCollection.AddSingleServiceAgent怎么用?C# ServiceCollection.AddSingleServiceAgent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceCollection
的用法示例。
在下文中一共展示了ServiceCollection.AddSingleServiceAgent方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ServiceAgentSettingsIsRegistratedAsSingleton
private void ServiceAgentSettingsIsRegistratedAsSingleton()
{
var services = new ServiceCollection();
services.AddSingleServiceAgent<TestAgent>(settings =>
{
settings.AuthScheme = AuthScheme.Bearer;
settings.Host = "test.be";
settings.Path = "api";
settings.Port = "5000";
settings.Scheme = HttpSchema.Http;
});
var registrations = services.Where(sd => sd.ServiceType == typeof(IConfigureOptions<ServiceAgentSettings>))
.ToArray();
Assert.Equal(1, registrations.Count());
Assert.Equal(ServiceLifetime.Singleton, registrations[0].Lifetime);
var configOptions = registrations[0].ImplementationInstance as IConfigureOptions<ServiceAgentSettings>;
Assert.NotNull(configOptions);
var serviceAgentSettings = new ServiceAgentSettings();
configOptions.Configure(serviceAgentSettings);
Assert.Equal(1, serviceAgentSettings.Services.Count);
var serviceSettings = serviceAgentSettings.Services["TestAgent"];
Assert.NotNull(serviceSettings);
Assert.Equal(AuthScheme.Bearer, serviceSettings.AuthScheme);
Assert.Equal("test.be", serviceSettings.Host);
Assert.Equal("api", serviceSettings.Path);
Assert.Equal("5000", serviceSettings.Port);
Assert.Equal(HttpSchema.Http, serviceSettings.Scheme);
}
示例2: ActionNullRaisesArgumentException
private void ActionNullRaisesArgumentException()
{
Action<ServiceSettings> nullAction = null;
var services = new ServiceCollection();
var ex = Assert.Throws<ArgumentNullException>(() => services.AddSingleServiceAgent<TestAgent>(nullAction));
Assert.Equal("setupAction", ex.ParamName);
}
示例3: HttpClientFactoryIsRegistratedAsSingleton
private void HttpClientFactoryIsRegistratedAsSingleton()
{
var services = new ServiceCollection();
services.AddSingleServiceAgent<TestAgent>(settings => { });
var registrations = services.Where(sd => sd.ServiceType == typeof(IHttpClientFactory))
.ToArray();
Assert.Equal(1, registrations.Count());
Assert.Equal(ServiceLifetime.Singleton, registrations[0].Lifetime);
}
示例4: HttpClientFactoryClientActionIsPassed
private void HttpClientFactoryClientActionIsPassed()
{
var serviceAgentSettings = new ServiceAgentSettings();
HttpClient passedClient = null;
var services = new ServiceCollection();
services.AddSingleServiceAgent<TestAgent>(settings => { }, (sp, client) => passedClient = client);
///get the registrated HttpFactory
var registration = services.Single(sd => sd.ServiceType == typeof(IHttpClientFactory));
//Manually call the CreateClient on the factory (this normally happens when the service agent gets resolved
var factory = registration.ImplementationFactory.Invoke(null) as HttpClientFactory;
factory.CreateClient(serviceAgentSettings, new ServiceSettings { Host = "test.be" });
Assert.NotNull(passedClient);
}
示例5: ServiceAgentIsRegistratedAsScoped
private void ServiceAgentIsRegistratedAsScoped()
{
var services = new ServiceCollection();
services.AddSingleServiceAgent<TestAgent>(settings => { },
assembly: typeof(AddServiceAgentsTests).GetTypeInfo().Assembly);
var registrations = services.Where(sd => sd.ServiceType == typeof(TestAgent) &&
sd.ImplementationType == typeof(TestAgent))
.ToArray();
Assert.Equal(1, registrations.Count());
Assert.Equal(ServiceLifetime.Scoped, registrations[0].Lifetime);
}