Skip to content

Commit 9bdde9d

Browse files
Chris Martinezcommonsensesoftware
authored andcommitted
Dispose of temporary service provider. Resolves #403
1 parent a8287b2 commit 9bdde9d

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

samples/aspnetcore/SwaggerODataSample/Startup.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,16 @@ public void ConfigureServices( IServiceCollection services )
4141
{
4242
// resolve the IApiVersionDescriptionProvider service
4343
// note: that we have to build a temporary service provider here because one has not been created yet
44-
var provider = services.BuildServiceProvider().GetRequiredService<IApiVersionDescriptionProvider>();
45-
46-
// add a swagger document for each discovered API version
47-
// note: you might choose to skip or document deprecated API versions differently
48-
foreach ( var description in provider.ApiVersionDescriptions )
44+
using ( var serviceProvider = services.BuildServiceProvider() )
4945
{
50-
options.SwaggerDoc( description.GroupName, CreateInfoForApiVersion( description ) );
46+
var provider = serviceProvider.GetRequiredService<IApiVersionDescriptionProvider>();
47+
48+
// add a swagger document for each discovered API version
49+
// note: you might choose to skip or document deprecated API versions differently
50+
foreach ( var description in provider.ApiVersionDescriptions )
51+
{
52+
options.SwaggerDoc( description.GroupName, CreateInfoForApiVersion( description ) );
53+
}
5154
}
5255

5356
// add a custom operation filter which sets default values
@@ -110,4 +113,4 @@ static Info CreateInfoForApiVersion( ApiVersionDescription description )
110113
return info;
111114
}
112115
}
113-
}
116+
}

samples/aspnetcore/SwaggerSample/Startup.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,16 @@ public void ConfigureServices( IServiceCollection services )
6262
{
6363
// resolve the IApiVersionDescriptionProvider service
6464
// note: that we have to build a temporary service provider here because one has not been created yet
65-
var provider = services.BuildServiceProvider().GetRequiredService<IApiVersionDescriptionProvider>();
66-
67-
// add a swagger document for each discovered API version
68-
// note: you might choose to skip or document deprecated API versions differently
69-
foreach ( var description in provider.ApiVersionDescriptions )
65+
using ( var serviceProvider = services.BuildServiceProvider() )
7066
{
71-
options.SwaggerDoc( description.GroupName, CreateInfoForApiVersion( description ) );
67+
var provider = serviceProvider.GetRequiredService<IApiVersionDescriptionProvider>();
68+
69+
// add a swagger document for each discovered API version
70+
// note: you might choose to skip or document deprecated API versions differently
71+
foreach ( var description in provider.ApiVersionDescriptions )
72+
{
73+
options.SwaggerDoc( description.GroupName, CreateInfoForApiVersion( description ) );
74+
}
7275
}
7376

7477
// add a custom operation filter which sets default values

0 commit comments

Comments
 (0)