[英].Net Core 3.1 adding additional config.json file to configuration argument in Startup
[英]Set configuration part in startup with static parameters not json file in .net core
我的测试解决方案中有这行代码。
我想在我的测试代码中配置 ravenoption。
public IHost host = null;
public IDocumentStore documentStore = null;
public TestHostBuilder()
{
ConfigureServer(new TestServerOptions() {FrameworkVersion = null});
documentStore = GetDocumentStore();
Environment.SetEnvironmentVariable("TEST_ENV", "on");
var hostBuilder = easy.api.Program.CreateHostBuilder(new string[0])
.ConfigureWebHost(webHostBuilder =>
{
webHostBuilder.UseTestServer();
}).ConfigureAppConfiguration(config =>
{
config.Configure<domain.Environments.RavenOptions>(new domain.Environments.RavenOptions() {PublicUrl=documentStore.Urls.ToString() });
})
.ConfigureServices(services =>
{
services.AddScoped<ICurrentUserService, InitRequest>();
services.AddScoped<ICacheStorage>(provider =>
{
return new Mock<ICacheStorage>().Object;
});
services.AddRavenDbAsyncSession(GetDocumentStore(new GetDocumentStoreOptions()));
services.AddTransient<IAsyncDocumentSession>((c) =>
{
return documentStore.OpenAsyncSession();
});
});
host = hostBuilder.Start();
}
所以在这一行
config.Configure<domain.Environments.RavenOptions>(new domain.Environments.RavenOptions() {PublicUrl=documentStore.Urls.ToString() });
我收到此错误:
严重性代码说明项目文件行抑制 State
错误 CS1929 'IConfigurationBuilder' 不包含 'Configure' 的定义和最佳扩展方法重载
最后我创建了一个 Ioption object 并将其注入应用程序:
.ConfigureServices(services =>
{
domain.Environments.RavenOptions appSettings = new domain.Environments.RavenOptions()
{
PublicDbName = documentStore.Database,
CertificateDirectory="",
IsHttps=false,
PublicUrl=documentStore.Identifier.Split("(").First(),
TseDbName=documentStore.Database,
ShardUrls=Enumerable.Repeat(documentStore.Identifier.Split("(").First(), 4).ToArray()
};
IOptions<domain.Environments.RavenOptions> options = Options.Create(appSettings);
services.AddScoped<IOptions<domain.Environments.RavenOptions>>((p) =>
{
return options;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.