Skip to content

Commit

Permalink
READMEs for Servers (#31207)
Browse files Browse the repository at this point in the history
* READMEs for Servers

* Remove en-us

* Update src/Servers/README.md

Co-authored-by: Brennan <brecon@microsoft.com>

* Update src/Servers/Kestrel/README.md

Co-authored-by: Chris Ross <Tratcher@Outlook.com>

* Update src/Servers/IIS/README.md

Co-authored-by: Chris Ross <Tratcher@Outlook.com>

* Feedback

* Update src/Servers/HttpSys/README.md

* Quick test

* HttpSys

* Update README.md

* Feedback

* Update src/Servers/IIS/README.md

Co-authored-by: Günther Foidl <gue@korporal.at>

* Update src/Servers/Kestrel/README.md

Co-authored-by: Günther Foidl <gue@korporal.at>

Co-authored-by: Brennan <brecon@microsoft.com>
Co-authored-by: Chris Ross <Tratcher@Outlook.com>
Co-authored-by: Günther Foidl <gue@korporal.at>
  • Loading branch information
4 people authored Mar 25, 2021
1 parent 8d79c95 commit 1bf6332
Show file tree
Hide file tree
Showing 4 changed files with 155 additions and 8 deletions.
44 changes: 41 additions & 3 deletions src/Servers/HttpSys/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,42 @@
HttpSysServer
=============
# HttpSys

This repo contains a web server for ASP.NET Core based on the Windows [Http Server API](https://msdn.microsoft.com/en-us/library/windows/desktop/aa364510.aspx).
ASP.NET Core HttpSys Web Server is a web server that uses the [Windows Hypertext Transfer Protocol Stack](https://docs.microsoft.com/iis/get-started/introduction-to-iis/introduction-to-iis-architecture#hypertext-transfer-protocol-stack-httpsys).

Documentation for ASP.NET Core HttpSys can be found in the [ASP.NET Core HTTP.sys Docs](https://docs.microsoft.com/aspnet/core/fundamentals/servers/httpsys).

## Description

This folder contains all relevant code for the HttpSys Web Server implementation.

- [src/](src/): Contains all production code for the HttpSys Web Server.
- [src/NativeInterop/](src/NativeInterop): Contains the native interop layer between managed and native code.
- [src/RequestProcessing/](src/RequestProcessing): Contains request and response processing code.
- [samples/](samples/): Contains samples showing how to use HTTP.sys.

## Development Setup

### Build

HTTP.sys can only be used on Windows.

To build this specific project from source, you can follow the instructions [on building a subset of the code](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#building-a-subset-of-the-code).

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd
```

### Test

To run the tests for this project, you can [run the tests on the command line](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#running-tests-on-command-line) in this directory.

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd -t
```

You can also run project specific tests by running `dotnet test` in the `tests` directory next to the `src` directory of the project.

## More Information

For more information, see the [ASP.NET Core README](../../../README.md).
55 changes: 55 additions & 0 deletions src/Servers/IIS/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# IIS

ASP.NET Core IIS Web Server is a flexible secure managed Web Server to be hosted with IIS on Windows.

Documentation for ASP.NET Core IIS can be found in the [ASP.NET Core IIS Docs](https://docs.microsoft.com/aspnet/core/host-and-deploy/iis).

## Description

This folder contains all relevant code for the IIS Web Server implementation.

There are two modes for hosting application with IIS: in-process and out-of-process. In-process will run all managed code inside of the IIS worker process, while out-of-process will use IIS as a reverse-proxy to a dotnet process running Kestrel.

The following contains a description of the sub-directories.

- [AspNetCoreModuleV2/](AspNetCoreModuleV2/): Contains all native code that is part of the [ASP.NET Core Module/](https://docs.microsoft.com/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-5.0).
- [AspNetCoreModuleV2/AspNetCore/](AspNetCoreModuleV2/AspNetCore/): Contains the ASP.NET Core Module shim, a minimal layer for IIS to interact with the in-process and out-of-process modules.
- [AspNetCoreModuleV2/CommonLib/](AspNetCoreModuleV2/CommonLib/): Contains common code shared between all native components.
- [AspNetCoreModuleV2/CommonLibTests/](AspNetCoreModuleV2/CommonLibTests/): Contains native tests for the ASP.NET Core Module.
- [AspNetCoreModuleV2/IISLib/](AspNetCoreModuleV2/IISLib/): Contains common code for interactions with IIS.
- [AspNetCoreModuleV2/InProcessRequestHandler/](AspNetCoreModuleV2/InProcessRequestHandler/): Contains native code for in-process hosting.
- [AspNetCoreModuleV2/OutOfProcessRequestHandler/](AspNetCoreModuleV2/OutOfProcessRequestHandler/): Contains native code for out-of-process hosting.
- [AspNetCoreModuleV2/RequestHandlerLib/](AspNetCoreModuleV2/RequestHandlerLib/): Contains shared code between in-process and out-of-process hosting.
- [IIS/](IIS/): Contains managed code for hosting ASP.NET Core with in-process hosting.
- [IISIntegration/](IISIntegration/): Contains managed code for hosting ASP.NET Core with out-of-process hosting.
- [IntegrationTesting.IIS/](IntegrationTesting.IIS/): Contains testing infrastructure for starting IIS and IISExpress.

## Development Setup

### Build

IIS can only be used on Windows.

IIS requires VS C++ native components to build. VS C++ native components can be installed by following the [Build From Source instructions](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#on-windows).

To build this specific project from source, you can follow the instructions [on building a subset of the code](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#building-a-subset-of-the-code).

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd
```

### Test

To run the tests for this project, you can [run the tests on the command line](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#running-tests-on-command-line) in this directory.

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd -t
```

You can also run project specific tests by running `dotnet test` in the `tests` directory next to the `src` directory of the project.

## More Information

For more information, see the [ASP.NET Core README](../../../README.md).
44 changes: 39 additions & 5 deletions src/Servers/Kestrel/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,42 @@
KestrelHttpServer
=================
# Kestrel

Kestrel is a cross-platform web server for ASP.NET Core.
Kestrel is our cross-platform web server that is included and enabled by default in ASP.NET Core.

## File logging for functional test
Documentation for ASP.NET Core Kestrel can be found in the [ASP.NET Core Kestrel Docs](https://docs.microsoft.com/aspnet/core/fundamentals/servers/kestrel).

Turn on file logging for Kestrel functional tests by specifying the environment variable ASPNETCORE_TEST_LOG_DIR to the log output directory.
## Description

The following contains a description of the sub-directories.

- [Core/](Core/): Contains the main server implementation for Kestrel.
- [Kestrel/](Kestrel/): Contains the public API exposed to use Kestrel.
- [test/](test/): Contains End to End tests for Kestrel.
- [Transport.Sockets/](Transport.Sockets/):Contains the Sockets transport for connection management.
- [Transport.Quic/](Transport.Quic/): Contains the QUIC transport for connection management.
- [Transport.Libuv/](Transport.Libuv/): Contains the obsolete Libuv transport for connection management.

## Development Setup

### Build

To build this specific project from source, you can follow the instructions [on building a subset of the code](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#building-a-subset-of-the-code).

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd
```

### Test

To run the tests for this project, you can [run the tests on the command line](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md#running-tests-on-command-line) in this directory.

Or for the less detailed explanation, run the following command inside this directory.
```powershell
> ./build.cmd -t
```

You can also run project specific tests by running `dotnet test` in the `tests` directory next to the `src` directory of the project.

## More Information

For more information, see the [ASP.NET Core README](../../../README.md).
20 changes: 20 additions & 0 deletions src/Servers/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# ASP.NET Core Servers

ASP.NET Core Servers contains all servers that can be used in ASP.NET Core by default. These include:

- [Kestrel](https://docs.microsoft.com/aspnet/core/fundamentals/servers/kestrel), our cross-platform web server that is included and enabled by default in ASP.NET Core.
- [IIS Server/ASP.NET Core Module](https://docs.microsoft.com/aspnet/core/host-and-deploy/iis/), a flexible secure managed Web Server to be hosted with IIS on Windows.
- [HTTP.sys](https://docs.microsoft.com/aspnet/core/fundamentals/servers/httpsys), a web server that uses the [Windows Hypertext Transfer Protocol Stack](https://docs.microsoft.com/iis/get-started/introduction-to-iis/introduction-to-iis-architecture#hypertext-transfer-protocol-stack-httpsys).

## Description

This folder contains all servers implementations related abstractions for ASP.NET Core.

- [Kestrel/](Kestrel/): Contains the implementation of the Kestrel Web Server.
- [IIS/](IIS/): Cotnains all code for the IIS Web Server and ASP.NET Core Module.
- [HttpSys/](HttpSys/): Contains all code for the HTTP.sys Web Server.
- [Connections.Abstractions/](Connections.Abstractions/): A set of abstractions for creating and using Connections; used in the server implementations and SignalR.

## More Information

For more information, see the [ASP.NET Core README](../../README.md).

0 comments on commit 1bf6332

Please sign in to comment.