-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AllowSynchronousIO disabled in all servers #342
Labels
3.0.0
Announcements related to ASP.NET Core 3.0
Breaking change
Documented
The breaking change has been published to the .NET Core docs
Migrated
Milestone
Comments
There is a known issue with this in 3.0.0-preview-3 dotnet/aspnetcore#8302 We missed part of the change that was needed for MVC's Newtonsoft.JSON formatter. If you have a large JSON body you may see failures like:
|
scottaddie
added
the
Documented
The breaking change has been published to the .NET Core docs
label
Dec 17, 2019
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
3.0.0
Announcements related to ASP.NET Core 3.0
Breaking change
Documented
The breaking change has been published to the .NET Core docs
Migrated
AllowSynchronousIO is a option in each server that enables or disables sync IO APIs like HttpReqeuest.Body.Read, HttpResponse.Body.Write, Stream.Flush, etc.. These APIs have long been a source of thread starvation and application hangs. Starting in 3.0.0-preview3 these are disabled by default.
Affected servers:
Expect errors similar to:
Synchronous operations are disallowed. Call ReadAsync or set AllowSynchronousIO to true instead.
Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead.
Synchronous operations are disallowed. Call FlushAsync or set AllowSynchronousIO to true instead.
Each server has a AllowSynchronousIO option that controls this behavior and the default for all of them is now false.
The behavior can also be overridden on a per request basis as a temporary mitigation.
If you have trouble with TextWriters or other streams calling sync APIs in Dispose, call the new DisposeAsync API instead.
See dotnet/aspnetcore#7644 for discussion.
This announcement has been migrated to: dotnet/docs#14835
The text was updated successfully, but these errors were encountered: