Go to file
David Fowler 04bf1bf32e
Implement new bedrock listener abstraction and re-plat Kestrel on top (#10321)
This is a massive set of changes to Kestrel to remove the existing pubternal transport layer and implement a public facing API for listeners and clients, see the details here #10308.

This change only has the server side pieces of the story as I don't want to add the client APIs without having ported SignalR to use them. Here are the highlights:

- Transport.Abstractions is empty (will be removed in a separate PR as it requires removing it from a ton of places)
- TransportConnection has been moved to Connection.Abstractions (we can decide if we need to consolidate with DefaultConnectionContext in a later PR)
- Added FileHandleEndPoint which allows binding to a file handle (could be a pipe or tcp handle)
ListenOptions has been gutted for most pubternal API and returns various types of binding information . The source of truth is the EndPoint instance.
- Cleaned up a bunch of libuv tests decoupling them from Kestrel.Core

## Breaking changes

- Removing pubternal API is itself a breaking change but one that we already planned to do.
- We've removed the ability to set the scheduling mode on Kestrel
- DisposeAsync was added to ConnectionContext 
- NoDelay was removed from ListenOptions. This has been moved to each of the transports. One major difference though is that it's no longer localized per endpoint but is global. We'd need a derived EndPoint type (or maybe extend IPEndPoint) to store both the socket options and the binding information.
2019-05-30 20:34:26 -07:00
.azure/pipelines Add inproc handler to shared framework (#10586) 2019-05-29 09:58:20 -07:00
.config
.github
.vscode
build Add inproc handler to shared framework (#10586) 2019-05-29 09:58:20 -07:00
docs
eng [Helix] Try running node services tests on helix again (#9046) 2019-05-29 21:15:29 -07:00
src Implement new bedrock listener abstraction and re-plat Kestrel on top (#10321) 2019-05-30 20:34:26 -07:00
.editorconfig
.gitattributes
.gitignore
.gitmodules
CONTRIBUTING.md Update CONTRIBUTING.md to reference 'help wanted' labels and link to contributor docs (#10625) 2019-05-29 13:48:22 -07:00
Directory.Build.props
Directory.Build.targets Enable netstandard2.1 libraries to build (#10614) 2019-05-29 12:50:54 -07:00
LICENSE.txt
NuGet.config
README.md
SECURITY.md Starting point for security policy (#10566) 2019-05-28 11:36:31 -07:00
THIRD-PARTY-NOTICES.txt
activate.ps1
activate.sh
build.cmd
build.ps1
build.sh
dockerbuild.sh
global.json
korebuild-lock.txt
korebuild.json
restore.cmd
restore.sh
startvs.cmd
version.props Use SemVer2 in packaging (#10634) 2019-05-30 09:29:48 -07:00

README.md

ASP.NET Core

ASP.NET Core is an open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. Learn more about ASP.NET Core.

Get Started

Follow the Getting Started instructions in the ASP.NET Core docs.

Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.

How to Engage, Contribute, and Give Feedback

Some of the best ways to contribute are to try things out, file issues, join in design conversations, and make pull-requests.

Reporting security issues and bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

These are some other repos for related projects:

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.