diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj
index f358dd93534e..0d70e739c0b5 100644
--- a/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj
+++ b/src/Servers/IIS/IIS/test/testassets/InProcessNewShimWebSite/InProcessNewShimWebSite.csproj
@@ -2,7 +2,7 @@
- $(DefaultNetCoreTargetFramework)
+ $(DefaultNetCoreTargetFramework);$(NetMinimum)
InProcessWebSite
FORWARDCOMPAT
false
@@ -27,38 +27,25 @@
-
-
-
- true
-
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
-
- true
-
diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.WebSockets.cs b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.WebSockets.cs
index c7d502039f55..c20897f57406 100644
--- a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.WebSockets.cs
+++ b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.WebSockets.cs
@@ -62,7 +62,7 @@ private void WebSocketEcho(IApplicationBuilder app)
{
var ws = await Upgrade(context);
#if FORWARDCOMPAT
- var appLifetime = app.ApplicationServices.GetRequiredService();
+ var appLifetime = app.ApplicationServices.GetRequiredService();
#else
var appLifetime = app.ApplicationServices.GetRequiredService();
#endif
@@ -95,6 +95,8 @@ private void WebSocketLifetimeEvents(IApplicationBuilder app)
private void WebSocketUpgradeFails(IApplicationBuilder app)
{
+ // Suppress false positive. https://github.com/dotnet/aspnetcore/issues/64173
+#pragma warning disable ASP0016 // The method used to create a RequestDelegate returns Task
app.Run(async context =>
{
var upgradeFeature = context.Features.Get();
@@ -105,6 +107,7 @@ private void WebSocketUpgradeFails(IApplicationBuilder app)
throw new InvalidOperationException("Unexpected error from UpgradeAsync.");
}
});
+#pragma warning restore ASP0016 // The method used to create a RequestDelegate returns Task
}
#if !FORWARDCOMPAT
diff --git a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.cs b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.cs
index 7588f67559ea..25188979df6b 100644
--- a/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.cs
+++ b/src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.cs
@@ -55,9 +55,9 @@ public void ConfigureServices(IServiceCollection serviceCollection)
serviceCollection.AddHttpContextAccessor();
}
#if FORWARDCOMPAT
- private async Task ContentRootPath(HttpContext ctx) => await ctx.Response.WriteAsync(ctx.RequestServices.GetService().ContentRootPath);
+ private async Task ContentRootPath(HttpContext ctx) => await ctx.Response.WriteAsync(ctx.RequestServices.GetService().ContentRootPath);
- private async Task WebRootPath(HttpContext ctx) => await ctx.Response.WriteAsync(ctx.RequestServices.GetService().WebRootPath);
+ private async Task WebRootPath(HttpContext ctx) => await ctx.Response.WriteAsync(ctx.RequestServices.GetService().WebRootPath);
#else
private async Task ContentRootPath(HttpContext ctx) => await ctx.Response.WriteAsync(ctx.RequestServices.GetService().ContentRootPath);
@@ -175,7 +175,7 @@ public async Task WaitingRequestCount(HttpContext context)
public Task CreateFile(HttpContext context)
{
#if FORWARDCOMPAT
- var hostingEnv = context.RequestServices.GetService();
+ var hostingEnv = context.RequestServices.GetService();
#else
var hostingEnv = context.RequestServices.GetService();
#endif
@@ -474,6 +474,8 @@ private Task TestRequestHeaders(HttpContext ctx)
return ctx.Response.WriteAsync($"Failure: '{headerName}' TryGetValue");
}
+ // ASP0019 recommends using Append or the indexer over Add, because it throws, but we're testing that behavior here.
+#pragma warning disable ASP0019 // Use IHeaderDictionary.Append or the indexer to append or set headers
// Both default and StringValues.Empty should unset the header, allowing it to be added again.
ArgumentException duplicateKeyException = null;
ctx.Request.Headers.Add(headerName, "test");
@@ -492,6 +494,7 @@ private Task TestRequestHeaders(HttpContext ctx)
duplicateKeyException = ex;
ctx.Request.Headers[headerName] = default;
}
+#pragma warning restore ASP0019 // Use IHeaderDictionary.Append or the indexer to append or set headers
if (duplicateKeyException is null)
{
@@ -597,7 +600,7 @@ private async Task WaitForAppToStartShuttingDown(HttpContext ctx)
{
await ctx.Response.WriteAsync("test1");
#if FORWARDCOMPAT
- var lifetime = ctx.RequestServices.GetService();
+ var lifetime = ctx.RequestServices.GetService();
#else
var lifetime = ctx.RequestServices.GetService();
#endif
@@ -680,8 +683,9 @@ private async Task ReadAndWriteEchoLines(HttpContext ctx)
private async Task ReadAndWriteEchoLinesNoBuffering(HttpContext ctx)
{
#if FORWARDCOMPAT
- var feature = ctx.Features.Get();
- feature.DisableResponseBuffering();
+ var feature = ctx.Features.Get();
+ feature.DisableBuffering();
+ Assert.True(ctx.Request.CanHaveBody());
#else
var feature = ctx.Features.Get();
feature.DisableBuffering();
@@ -993,7 +997,7 @@ private async Task Shutdown(HttpContext ctx)
{
await ctx.Response.WriteAsync("Shutting down");
#if FORWARDCOMPAT
- ctx.RequestServices.GetService().StopApplication();
+ ctx.RequestServices.GetService().StopApplication();
#else
ctx.RequestServices.GetService().StopApplication();
#endif