Commit Graph

111 Commits

Author SHA1 Message Date
David Fowler 02bf53de96
Small clean up and allocation removals (#21918)
- Remove IAsyncResult implementation
- Make AsyncAcceptContext derive from TaskCompletionSource
2020-05-19 08:18:54 -07:00
Kahbazi a4c45262fb
Add AuthenticationDisplayName to HttpSys (#21410)
* Add AuthenticationDisplayName to HttpSys

* update reference assembly

* Update Microsoft.AspNetCore.Server.HttpSys.netcoreapp.cs

* Trigger build
2020-05-02 09:11:51 -07:00
David Fowler 0fbf919d50
Use the RequestContext as the threadpool workitem (#21294)
- Avoids a task allocation (reuses the existing RequestContext allocation)
- Side benefit is that it's easier to see what things are queued into the threadpool for diagnostics!
2020-04-29 00:06:42 -07:00
Cédric Luthi b73b2027cc
Improve exception when HTTP.sys can't register a prefix (#20718)
* Improve exception when HTTP.sys can't register a prefix

Propose an actionable solution and include a link to the documentation.

* Add SkipOnHelix attribute
2020-04-27 20:16:26 +00:00
Kevin Pilch f34033a415 Add .vsconfig files in root and beside slns 2020-03-31 14:25:44 -07:00
Brennan 56fb4b4d2f
Rename Flaky attribute (#19469) 2020-03-04 08:10:18 -08:00
Stephen Halter 88073f86ff Merge branch 'release/3.1' into master 2020-02-18 13:46:51 -08:00
Doug Bunting a6c43b14a1
Mark AspNetCore projects that aren't packaged explicitly (#18767)
* Mark AspNetCore projects that aren't packaged explicitly
- avoid NU5104 warnings due to confusing versioning
- `$(IsShippingPackage)` was semantically incorrect in any case

* Remove redundant `$(IsShippingPackage)` settings in `$(IsAspNetCoreApp)` projects
- default is `true` for all implementation projects

* Use `$(IsPackable)` when deciding how `$(IsAspNetCoreApp)` projects are handled
- remove all use of `$(IsShippingPackage)` for shared framework composition
- update documentation to match these changes

nits:
- remove odd default for `$(IsPackable)` in Directory.Build.targets
  - no longer relevant since all `$(IsAspNetCoreApp)` projects are `$(IsShippingPackage)` too
- include more information in docs/ProjectProperties.md

* Add direct System.Text.Json references
- avoid MSB3277 warnings
2020-02-13 15:51:27 -08:00
Chris Ross e9e6b53526
Restructure shared http code (#18967)
* Restructure shared runtime code

* More qpack

* Header field

* HttpSys tests

* Casing
2020-02-12 18:07:32 +00:00
kunal mehta 801578fe19
Added Log events for Httpsys (#18551) 2020-02-05 10:54:37 -08:00
Kevin Pilch 91d17f6c2d
Update links from aspnet/AspNetCore-Internal -> dotnet/aspnetcore-internal (#18540) 2020-01-23 12:21:06 -08:00
James Newton-King df712cc4a9
Add HttpProtocol (#18049) 2020-01-16 13:35:47 +13:00
Maher Jendoubi 116799fa70 Contributing: Fixed some typos (#18331) 2020-01-14 08:58:52 -08:00
Kevin Pilch 0517745c08 aspnet/AspNetCore -> dotnet/aspnet
Except aspnet/AspNetCore-Internal.
2020-01-08 16:40:11 -08:00
Kahbazi c7937640a4 Remove HttpSys LogHelper #18029 (#18030) 2020-01-02 09:11:13 -08:00
Chris Ross c759f5b8f8
HttpSys logs and samples cleanup (#17971) 2019-12-19 17:19:49 -08:00
Doug Bunting 3a67489398
Add missing `_dummy` and `_dummyPrimitive` fields
- probably need to double-check for similar gaps in 'release/3.0' branch
2019-12-13 12:13:15 -08:00
Doug Bunting 7256b353b3
Update `internal` types and members in *.Manual.cs files
- match changes that are in 'release/3.1' but not 'release/3.0'
  - e.g. `StaticComponentRenderer`'s namespace change and newly-added members
- redo GenAPI exclusions
  - remove some unecessary workarounds getting in the way of keeping up w/ API changes
  - add more GenAPI exclusions, enabling `--all` without hitting dotnet/arcade#4488
2019-12-13 12:10:44 -08:00
Doug Bunting 7ba757265f
Merge branch 'release/3.1' into merge/release/3.0-to-release/3.1
- upgrade Arcade SDK to '1.0.0-beta.19607.3'
- regenerate eng/ProjectReferences.props and ref/ projects
2019-12-11 20:03:03 -08:00
Doug Bunting cf6b5028c3
Improve generation and use of ref/ projects (#17311)
* Remove useless src/PackageArchive files
- not used outside 2.x branches

* Improve use of ref/ assemblies
- compile against ref/ assemblies but do not change package metadata
  - update the metadata of implementation projects to include the ref/ assembly path
  - update `@(ReferenceAssembly)` metadata for Extensions packages, not `@(PackageReference)`
  - can be disabled using `$(CompileUsingReferenceAssemblies)` e.g. when generating ref/ projects
- include ref/ projects in source build by default
  - remove `$(ExcludeFromSourceBuild)` overrides from ref/ project files
- use latest package references and use project references even when _not_ building the targeting packs
- restore previous `@(Reference)` -> `@(PackageReference)` logic
  - add build-only Microsoft.Internal.Extensions.Refs package reference in most cases
- remove IndirectReferences.props and `@(_ExtensionInternalRefAssemblies)`; no longer needed

* Improve ref/ project generation
- use ../src/**/AssemblyInfo.cs files instead of including attributes in *.Manual.cs files
  - for same reason, copy `@(InternalsVisibleto)` items from src/ to ref/ projects
- use eng/targets/CSharp.ReferenceAssembly.props instead of ref/Directory.Build.props files
- use TFM-specific *.Manual.cs files in ref/ project files instead of ref/Directory.Build.props files

optimizations and usability improvements:
- add `$(BuildMainlyReferenceProviders)` property to focus on reference providers when generating ref/ projects
- disable `$(UseReferenceAssemblyInImplementation)` to avoid using ref/ projects while generating them

nits:
- clean up whitespace and remove blank lines in ref/ project files

* Perform smaller cleanup
- remove `$(IsTargetingPackPatching)`; use only `$(IsTargetingPackBuilding)`
- remove `$(DisableServicingFeatures)`; enable the servicing features we need
  - suppress baseline references even in servicing builds
- restore `$(AdditionalGenApiCmdOptions)`; useful when updating *.Manual.cs files

nits:
- simplify conditions using `$(HasReferenceAssembly)`
- correct spelling in comments
- shorten long lines

* Use a response file for GenAPI commands
- work around dotnet/arcade#4021 and help with additional ref assemblies
- mimic 111462e0c2 and integrate w/ other changes here

* Undo some manual ref/ project changes
- now done automatically or centrally
- remove manual `[TypeForwardedTo]` and `[InternalsVisibleTo]` attributes
  - fully qualify a type now that `using` is gone
- remove dupe `@(Compile)` items for *.Manual.cs files; included in the ref/ project files
- remove redundant `$(AllowUnsafeBlocks)` and `$(NoWarn)` settings

nits:
- rename a *.Manual.cs file that's not TFM-specific
- remove `private` members

* Correct use of `@(ProjectReference)` items for reference providers
- use `@(Reference)` instead

* Remove recently-added `@(Compile)` and `@(Reference)` items
- were added due to missing `[InternalsVisibleTo]` attributes in ref/ assemblies or as early workarounds
  - plus, now transitive references **Just Work™️**
- expose `ClosedGenericMatcher` in the usual (*.Manual.cs) way
- also undo Microsoft.Extensions.ApiDescription.Server workaround

* Remove `private` members from ref/ *.Manual.cs files
- not useful and bloat the ref/ assemblies

* Cleanup warnings
- avoid "CSC warning CS2008: No source files specified." building site extensions
- correct warnings (as errors) about `RenderToStringResult` being obsolete
  - add Microsoft.AspNetCore.SpaServices.Tests to Middleware solution

* Remove `@(RuntimeHostConfigurationOption)` workarounds
- deps files are unaffected by new ref/ assembly handling and test projects aren't special-cased
- also execute a test previously skipped due to deps file problems

* Regenerate ref/ projects
- pick up the latest generation changes

(unclear why Mvc.RazorPages/ref/Microsoft.AspNetCore.Mvc.RazorPages.netcoreapp3.0.cs changed but works)

* Fill in missing `internal` types 1 of n
- rename Microsoft.AspNetCore.Components.netstandard2.0.Manual.cs; need `RenderTreeFrame` type everywhere
- add types needed in unit and perf tests to *.Manual.cs files

* Clean up recent commits
- remove recently-added `private` members
- restore `_dummyPrimitive` fields in Microsoft.AspNetCore.Server.HttpSys.Manual.cs

* Add *.Manual.cs files for more projects

* !fixup! fields in *.Manual.cs `struct`s
- GenAPI sometimes generates `_dummy` and `_dummyPrimitive` fields _instead of_ visible members
- what GenAPI generates sometimes have the right length but actual fields don't hurt
  - that is, using the real fields corrects both the visible API and `struct`s' sizes

nits:
- consolidate `namespace`s in Microsoft.AspNetCore.Mvc.Core.Manual.cs

* Remove special case for generating ref/ projects on non-Windows
- referenced issue was closed with no action but workaround still not required
- no tabs in generated content

* Only create ref/ projects for assemblies in the shared framework
- restrict when `$(HasReferenceAssembly)` is `true` by default
- add warnings when `$(IsAspNetCoreApp)` or `$(HasReferenceAssembly)` have unexpected values

* Remove "extra" ref/ projects
- associated implementation projects no longer have `$(HasReferenceAssembly)` set to `true`

* Add a few GenAPI exclusions
- see dotnet/arcade#4488
- generation for these members leads to NREs

* Add more `internal` types and members
- Identity/Core
- Identity/Extensions.Core
- Mvc/Mvc.ViewFeatures

* Add direct dependencies to work around CS1705 errors
- add direct references to some test and sample projects to make intent clear i.e. address CS1705 root cause
  - these projects must use implementation assemblies for those direct references
  - requirement also applies to anything depending on them e.g. functional tests
  - for simplicity, use `$(CompileUsingReferenceAssemblies)` instead of targeted `@(Reference)` metadata
- leads to ~40 projects that do not themselves add ref/ metadata
  - this is _not_ transitive i.e. it applies only to projects that override `$(CompileUsingReferenceAssemblies)`

* nits: Remove a few more `private` members in *.Manual.cs files

* !fixup! correct namespaces of a few types in *.Manual.cs files

* Try another way to fix Microsoft.AspNetCore.Blazor.Build.Tests

* Try another way to fix missing targets in Web.JS.npmproj
2019-12-11 07:36:59 -08:00
Chris Ross aca5f04922
Expose Http.Sys's Http/2 Reset error code API #17276 #16988 (#17645) 2019-12-09 06:17:38 -08:00
Andrew Stanton-Nurse 06a85e5db2
Dairai/add http class descriptions (#17349) 2019-12-05 09:28:29 -08:00
Chris Ross 5033efb3fe
Clean up test skip conditions (#17529) 2019-12-05 04:42:39 -08:00
Dairai Nyabando d4f380f67a Removing unnecessary param tags and words
#17349
2019-12-04 23:04:39 -05:00
Chris Ross 3b7cdc166a
Generalize Http2Cat #14894 (#17438) 2019-12-03 16:16:52 -08:00
Dairai Nyabando ed5a43d5ad updating the return statements for specific methods
#17349
2019-11-25 22:20:29 -05:00
Dairai Nyabando aeb8ab554a Updating the Http.sys server name in method descriptions
#17349
2019-11-23 17:26:22 -05:00
Chris Ross ca23b1a325
Pool HttpSys request buffers (#17314) 2019-11-22 15:35:47 -08:00
Dairai Nyabando 66613b194d Updating descriptions for HTTP classes
#17204
2019-11-22 00:04:16 -05:00
Kahbazi 642fe1631d Suppress log when request is cancelled (#16691) 2019-11-20 15:51:01 -08:00
Chris Ross e336f4010a
Set HasStarted for StartAsync #16987 (#16993) 2019-11-11 15:32:32 -08:00
Chris Ross f8f60cd42e
HttpSys HTTP/2 Response Trailers #13893 (#16877) 2019-11-08 17:12:37 -08:00
Brennan ef442be421
Remove flaky test (#15269) (#16717) 2019-10-31 18:00:00 -07:00
Brennan fece4705ee
[master] Update Arcade dependency (#16716) 2019-10-31 17:18:24 -07:00
dotnet-maestro[bot] 2c6456d463 [release/3.0] Update dependencies from 4 repositories (#14425)
* Update dependencies from https://github.com/dotnet/arcade build 20190924.3
* Update dependencies from https://github.com/aspnet/Blazor build 20191003.2
* Update dependencies from https://github.com/aspnet/AspNetCore-Tooling build 20191007.2
* Update dependencies from https://github.com/aspnet/EntityFrameworkCore build 20191010.4
* Remove potentially unnecessary feeds
* Install the runtime during source build
* Pin m.nc.app.ref
* Add aspnetcore-dev feed back to nuget.config
* Pin internal refs package
* Move efcore internal refs dependency
* Compile against ref assemblies
* Add manually generated internal ref assembly:
  * DataProtection
  * Kestrel
  * Hosting
  * Http
  * Mvc
  * Middleware
  * SignalR
  * Identity
  * Components
* Fix crossgen for ref compilation
* Fix tools for ref compilation
* Explicitly specify ExcludeFromSourceBuild
* Build targeting pack for 3.0.1
* Improve condition for building targeting pack in 3.0.1
* Fixing siteex build for ref compilation
* Resolve reference assemblies from Extensions
* Don't build refPack during source build
* Add big list of project references, for tests to use
  * Exclude sources files from indirect references
  * The types in these packages will be compiled into the binaries of the projects that directly depended o it
  * Add manual indirect references to project references
  * Add samples/test assets
  * Don't add indirect refs for ProjectRefs with ReferenceOutputAssembly=false
* Fix JSInterop for ref compilation
* Do not substitute ext ref assemblies in ref pack
* Disable the TestFramework assembly attribute from Logging.Testing
There's custom logic in ProjectTemplates.Tests to use a different TestFramework instead
* Fix Functional tests
  * Issues caused by incorrect deps files working around this via test infrastructure instead
  * Mvc
  * Analyzers
  * StaticFiles
  * SignalR
  * HttpOverrides
2019-10-28 18:06:32 -07:00
Brennan Conroy 859c1e085e Merge branch 'master' into merge/release/3.1-to-master 2019-10-23 14:06:23 -07:00
Brennan 97db4938f7
Remove flaky test (#15269) 2019-10-23 12:45:43 -07:00
Kahbazi f651fdf1f1 Add AutomaticAuthentication option in HttpSys #5877 (#6516) 2019-10-17 05:46:20 -07:00
Doug Bunting 0dedfa95d4
Merge branch 'release/3.1' -> 'master' 2019-10-14 09:32:59 -07:00
John Doe 288bedd9a3 Fixes spell across test classes and comments (#14958) 2019-10-13 20:46:20 -07:00
Chris Ross f3b0fbe207
Allow opt out of HttpSys client cert negotiation #14806 (#14839) 2019-10-09 15:57:11 -07:00
Doug Bunting d76718d4b4
!fixup! bad merge
- restore a missing `using`
2019-10-04 11:57:52 -07:00
Doug Bunting 1ba65ddade
Restore a couple of `using`s 2019-10-02 12:05:29 -07:00
Doug Bunting a3ac1ce895
Merge branch 'master' into merge/release/3.1-to-master 2019-10-02 10:25:59 -07:00
bkatms 51ae61baca Support attaching to an existing request queue in HTTP.SYS (#14182) 2019-10-01 16:05:52 -07:00
Chris Ross 5df258ae5b HttpSys GoAway (#14522) 2019-10-01 16:05:22 -07:00
Günther Foidl 752d99ca53 IISHttpContext.FeatureCollection.Protocol recognizes HTTP/2 (#14412) 2019-09-25 09:18:18 -07:00
Javier Calvarro Nelson 2587f74c31 Merge remote-tracking branch 'origin/release/3.1' into merge/release/3.1-to-master 2019-09-21 04:52:15 -07:00
Doug Bunting 2aa3bcaec8
!fixup! bad merge of `Utilities` 2019-09-20 22:43:29 -07:00
Doug Bunting 339c720d86
Merge branch 'release/3.1' into 'master' 2019-09-20 21:56:41 -07:00