- 
                Notifications
    You must be signed in to change notification settings 
- Fork 841
Move Microsoft.Extensions.ServiceDiscovery to dotnet/extensions #6868
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
          
     Merged
      
      
    
  
     Merged
                    Changes from all commits
      Commits
    
    
            Show all changes
          
          
            90 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      f65b56f
              
                Initial commit
              
              
                dotnet-bot 727e5ea
              
                False positive. **BYPASS_SECRET_SCANNING**
              
              
                joperezr ec97849
              
                Service Discovery: fail when no resolvers have been registered (#340)
              
              
                ReubenBond 2bb9a6e
              
                Service Discovery: Refactor DNS & DNS SRV providers into subclasses (…
              
              
                ReubenBond ea510d7
              
                Add IHostNameFeature to propagate original host name to HttpClient (#…
              
              
                ReubenBond 81b2daa
              
                Fix race in ServiceEndPointResolver (#511)
              
              
                ReubenBond aad81ea
              
                Fix one place where service discovery isn't AOT compatible (#540)
              
              
                davidfowl d2b0781
              
                Service Discovery: make host name propagation opt-in (#548)
              
              
                ReubenBond a7b6f7b
              
                Last round of triple slash, I believe. (#661)
              
              
                IEvangelist 92a239c
              
                Last round of triple slash, I believe. (#661) (#663)
              
              
                davidfowl 2febced
              
                Merged PR 35034: Merge branch 'release/8.0-preview1' into 'internal/r…
              
              
                joperezr 7fbb032
              
                Add additional debug logs to Service Discovery (#672)
              
              
                ReubenBond 2371e8b
              
                Add additional debug logs to Service Discovery (#672) (#678)
              
              
                ReubenBond 63ba7e9
              
                Merge branch 'release/8.0-preview1' into 'internal/release/8.0-preview1'
              
              
                joperezr 01862e7
              
                Merged PR 35041: Merge branch 'release/8.0-preview1' into 'internal/r…
              
              
                joperezr 655a8a2
              
                Add package descriptions and icons. (#701)
              
              
                mitchdenny db14b27
              
                [release/8.0-preview1] Add package descriptions and icons. (#701) (#702)
              
              
                mitchdenny 3c56542
              
                Merge branch 'release/8.0-preview1' into 'internal/release/8.0-preview1'
              
              
                joperezr 84b747b
              
                Merged PR 35083: Merge branch 'release/8.0-preview1' into 'internal/r…
              
              
                joperezr fd54a80
              
                Forward port package changes from release branch. (#722)
              
              
                mitchdenny 381a5ed
              
                Fix Trim warning in ServiceDiscovery (#768)
              
              
                eerhardt 873440f
              
                READMEs for Service Discovery (#792)
              
              
                ReubenBond eab38c8
              
                Merge branch 'internal/release/8.0-preview1' into joperezr/MergeChang…
              
              
                joperezr aaf3fbf
              
                Fix NuGet Package Icons (#817)
              
              
                eerhardt ced627d
              
                Merge pull request #818 from dotnet/joperezr/MergeChangesFromInternal
              
              
                joperezr a0c7573
              
                Merge branch 'release/8.0-preview1'
              
              
                joperezr cea4479
              
                Merge pull request #828 from dotnet-maestro-bot/merge/release/8.0-pre…
              
              
                joperezr 1525b00
              
                Service Discovery: fix shutdown blocking indefinitely in some cases (…
              
              
                ReubenBond b51c429
              
                Use ValueStopWatch (#1148)
              
              
                Kahbazi 7050e5a
              
                Make behavior of IHttpClientBuilder.UseServiceDiscovery overloads con…
              
              
                ReubenBond 50f8ab2
              
                Rename WithServiceBinding to WithEndpoint (#1484)
              
              
                davidfowl e9ee540
              
                Add comment to explain DisableGrpcLoadBalancingFilter (#1163)
              
              
                Meir017 e697620
              
                RoundRobinServiceEndPointSelectorProvider (#1661)
              
              
                alexander-kucherov 6ad2ba6
              
                Remove IServiceEndPointResolver.DisplayName property and use ToString…
              
              
                ReubenBond 43a49c3
              
                Enable XML doc error (#2191)
              
              
                eerhardt 8740979
              
                Service Discovery: set port to 0 when scheme is not present, not -1 (…
              
              
                ReubenBond c85b3ef
              
                Rename key Service Discovery types (#1877)
              
              
                ReubenBond 07dd40b
              
                Fix PassThroughServiceEndPointResolverTests (#2451)
              
              
                ReubenBond 2b01e48
              
                Service Discovery: allow multiple schemes to be specified in request …
              
              
                ReubenBond b982636
              
                Filling in empty doc comments. (#2968)
              
              
                mitchdenny 4e104b0
              
                Remove ValueStopwatch (#2935)
              
              
                eerhardt a846b38
              
                Point to Kubernetes C# client logic from IsInKubernetesCluster() (#3049)
              
              
                ReubenBond 38756b1
              
                Service Discovery API refactoring (#3114)
              
              
                ReubenBond 7e294b9
              
                Service Discovery API refactoring (#3114) (#3196)
              
              
                ReubenBond afd2c74
              
                Merge branch 'release/8.0-preview5' into release/8.0
              
              
                joperezr 4faad58
              
                Merge pull request #3261 from dotnet-maestro-bot/merge/release/8.0-pr…
              
              
                joperezr 76c92cb
              
                Remove obsolete APIs. (#3329)
              
              
                mitchdenny 2837a06
              
                Remove obsolete APIs. (#3336)
              
              
                github-actions[bot] 30697f6
              
                Service Discovery: Implement approved API (#3413)
              
              
                ReubenBond 95ea2e8
              
                Update README.md to reflect Service Discovery API changes (#3228)
              
              
                ReubenBond 616f098
              
                [release/8.0] Service Discovery: Implement approved API (#3460)
              
              
                github-actions[bot] 27dd319
              
                Enable public API analyzer. (#3547)
              
              
                mitchdenny 6b67ac7
              
                Service Discovery add additional configuration tests, make scheme sel…
              
              
                ReubenBond 8ccf338
              
                Service Discovery add additional configuration tests, make scheme sel…
              
              
                github-actions[bot] 696c6ce
              
                ServiceEndpoint.ToString(): omit zero port (#4015)
              
              
                ReubenBond 131f376
              
                ServiceEndpoint.ToString(): omit zero port (#4033)
              
              
                github-actions[bot] 7de9f20
              
                Promptly remove invalid resolvers (#3800)
              
              
                ReubenBond b62eb8e
              
                Improve test coverage for YARP Service Discovery (#4036)
              
              
                ReubenBond 40992da
              
                Move Cancel call outside of lock and add additional error handling (#…
              
              
                ReubenBond dcd995d
              
                Improve test coverage for YARP Service Discovery (#4051)
              
              
                github-actions[bot] 3f610e1
              
                Promptly remove invalid resolvers (#4039)
              
              
                github-actions[bot] 5e62522
              
                Move Cancel call outside of lock and add additional error handling (#…
              
              
                github-actions[bot] 1441356
              
                YARP: add special-case for localhost when setting Host value (#4069)
              
              
                ReubenBond 2855a7d
              
                YARP: add special-case for localhost when setting Host value (#4076)
              
              
                github-actions[bot] dabd7e5
              
                Merge branch release/8.0 into main
              
              
                joperezr 74cfe11
              
                Mark shipped public api as such and add infrastructure for PublicApiA…
              
              
                joperezr d29308c
              
                Baseline code coverage (#4313)
              
              
                RussKie cb6df3d
              
                Filter additional records from DNS SRV response (#4463)
              
              
                vha-schleupen 037ae58
              
                Adding public API test coverage (#5225)
              
              
                Zombach 204a929
              
                Adding public API test coverage for Microsoft.Extensions.ServiceDisco…
              
              
                Zombach a53b7ba
              
                use static for classes with all static members (#5485)
              
              
                SimonCropp 3294486
              
                Upgrade tooling for 9.0x (#5483)
              
              
                radical a8c389b
              
                Do not set host if it's not explicitely set in config (#6862)
              
              
                benjaminpetit cb4a39b
              
                Adding workflow to automatically compare public API surface against p…
              
              
                joperezr 763344c
              
                Remove PublicApiAnalyzer (#7389)
              
              
                eerhardt 9a34a45
              
                [ci] Remove code coverage reporting from the pipeline (#7857)
              
              
                radical ec982ce
              
                Adding test coverage - validate arguments of public methods (#7575)
              
              
                Zombach 45867ce
              
                Migrate to xunit.v3 (#8403)
              
              
                Youssef1313 f3feb15
              
                template updates for 9.3 (#8975)
              
              
                danmoseley 397705a
              
                Remove culture code from Microsoft documentation urls (#9253)
              
              
                sebastienros 83a203c
              
                Fix error in json in README.md (#9415)
              
              
                ikkentim 8bf082f
              
                Managed implementation of DNS resolver (#6104)
              
              
                rzikm f314173
              
                Localized file check-in by OneLocBuild Task: Build definition ID 1309…
              
              
                dotnet-bot 4b296e4
              
                Fallback to previous DNS service discovery (#10140)
              
              
                rzikm 81b2458
              
                Build ServiceDiscovery library and tests against netstandard2.0 (#10470)
              
              
                twsouthwick d1008fb
              
                Add net462 target to ServiceDiscovery (#11114)
              
              
                twsouthwick 0177e8d
              
                Migrate Microsoft.Extensions.ServiceDiscovery to dotnet/extensions
              
              
                eerhardt 0df2dc1
              
                Get ServiceDiscovery libraries and tests building clean in dotnet/ext…
              
              
                eerhardt 0034bee
              
                Remove FxPolyfills from the Shared.csproj
              
              
                eerhardt 675c83e
              
                PR Feedback
              
              
                eerhardt File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
        
          
          
            16 changes: 16 additions & 0 deletions
          
          16 
        
  src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/IHostNameFeature.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery; | ||
|  | ||
| /// <summary> | ||
| /// Exposes the host name of the end point. | ||
| /// </summary> | ||
| public interface IHostNameFeature | ||
| { | ||
| /// <summary> | ||
| /// Gets the host name of the end point. | ||
| /// </summary> | ||
| public string HostName { get; } | ||
| } | ||
|  | 
        
          
          
            29 changes: 29 additions & 0 deletions
          
          29 
        
  src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/IServiceEndpointBuilder.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| using Microsoft.AspNetCore.Http.Features; | ||
| using Microsoft.Extensions.Primitives; | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery; | ||
|  | ||
| /// <summary> | ||
| /// Builder to create a <see cref="ServiceEndpointSource"/> instances. | ||
| /// </summary> | ||
| public interface IServiceEndpointBuilder | ||
| { | ||
| /// <summary> | ||
| /// Gets the endpoints. | ||
| /// </summary> | ||
| IList<ServiceEndpoint> Endpoints { get; } | ||
|  | ||
| /// <summary> | ||
| /// Gets the feature collection. | ||
| /// </summary> | ||
| IFeatureCollection Features { get; } | ||
|  | ||
| /// <summary> | ||
| /// Adds a change token to the resulting <see cref="ServiceEndpointSource"/>. | ||
| /// </summary> | ||
| /// <param name="changeToken">The change token.</param> | ||
| void AddChangeToken(IChangeToken changeToken); | ||
| } | 
        
          
          
            18 changes: 18 additions & 0 deletions
          
          18 
        
  src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/IServiceEndpointProvider.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery; | ||
|  | ||
| /// <summary> | ||
| /// Provides details about a service's endpoints. | ||
| /// </summary> | ||
| public interface IServiceEndpointProvider : IAsyncDisposable | ||
| { | ||
| /// <summary> | ||
| /// Resolves the endpoints for the service. | ||
| /// </summary> | ||
| /// <param name="endpoints">The endpoint collection, which resolved endpoints will be added to.</param> | ||
| /// <param name="cancellationToken">The token to monitor for cancellation requests.</param> | ||
| /// <returns>The resolution status.</returns> | ||
| ValueTask PopulateAsync(IServiceEndpointBuilder endpoints, CancellationToken cancellationToken); | ||
| } | 
        
          
          
            20 changes: 20 additions & 0 deletions
          
          20 
        
  ...ies/Microsoft.Extensions.ServiceDiscovery.Abstractions/IServiceEndpointProviderFactory.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| using System.Diagnostics.CodeAnalysis; | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery; | ||
|  | ||
| /// <summary> | ||
| /// Creates <see cref="IServiceEndpointProvider"/> instances. | ||
| /// </summary> | ||
| public interface IServiceEndpointProviderFactory | ||
| { | ||
| /// <summary> | ||
| /// Tries to create an <see cref="IServiceEndpointProvider"/> instance for the specified <paramref name="query"/>. | ||
| /// </summary> | ||
| /// <param name="query">The service to create the provider for.</param> | ||
| /// <param name="provider">The provider.</param> | ||
| /// <returns><see langword="true"/> if the provider was created, <see langword="false"/> otherwise.</returns> | ||
| bool TryCreateProvider(ServiceEndpointQuery query, [NotNullWhen(true)] out IServiceEndpointProvider? provider); | ||
| } | 
        
          
          
            23 changes: 23 additions & 0 deletions
          
          23 
        
  ...raries/Microsoft.Extensions.ServiceDiscovery.Abstractions/Internal/ServiceEndpointImpl.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| using System.Net; | ||
| using Microsoft.AspNetCore.Http.Features; | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery.Internal; | ||
|  | ||
| internal sealed class ServiceEndpointImpl(EndPoint endPoint, IFeatureCollection? features = null) : ServiceEndpoint | ||
| { | ||
| public override EndPoint EndPoint { get; } = endPoint; | ||
|  | ||
| public override IFeatureCollection Features { get; } = features ?? new FeatureCollection(); | ||
|  | ||
| public override string? ToString() => EndPoint switch | ||
| { | ||
| IPEndPoint ip when ip.Port == 0 && ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6 => $"[{ip.Address}]", | ||
| IPEndPoint ip when ip.Port == 0 => $"{ip.Address}", | ||
| DnsEndPoint dns when dns.Port == 0 => $"{dns.Host}", | ||
| DnsEndPoint dns => $"{dns.Host}:{dns.Port}", | ||
| _ => EndPoint.ToString()! | ||
| }; | ||
| } | 
        
          
          
            30 changes: 30 additions & 0 deletions
          
          30 
        
  ...s.ServiceDiscovery.Abstractions/Microsoft.Extensions.ServiceDiscovery.Abstractions.csproj
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| <Project Sdk="Microsoft.NET.Sdk"> | ||
|  | ||
| <PropertyGroup> | ||
| <TargetFrameworks>$(TargetFrameworks);netstandard2.0</TargetFrameworks> | ||
| <IsPackable>true</IsPackable> | ||
| <Description>Provides abstractions for service discovery. Interfaces defined in this package are implemented in Microsoft.Extensions.ServiceDiscovery and other service discovery packages.</Description> | ||
| <PackageIconFullPath>$(DefaultDotnetIconFullPath)</PackageIconFullPath> | ||
| <RootNamespace>Microsoft.Extensions.ServiceDiscovery</RootNamespace> | ||
| <!-- https://github.com/dotnet/extensions/issues/6871 tracks enabling these --> | ||
| <NoWarn>$(NoWarn);S1144;CA1002;S2365;SA1642;IDE0040;CA1307;EA0009;LA0003</NoWarn> | ||
| <ImplicitUsings>enable</ImplicitUsings> | ||
| </PropertyGroup> | ||
|  | ||
| <ItemGroup> | ||
| <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" /> | ||
| <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" /> | ||
| <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" /> | ||
| <PackageReference Include="Microsoft.Extensions.Options" /> | ||
| <PackageReference Include="Microsoft.Extensions.Primitives" /> | ||
| <PackageReference Include="Microsoft.Extensions.Features" /> | ||
| <PackageReference Include="Microsoft.Extensions.Configuration.Binder" /> | ||
| </ItemGroup> | ||
|  | ||
| <ItemGroup Condition=" '$(TargetFramework)' == 'net462' OR '$(TargetFramework)' == 'netstandard2.0' "> | ||
| <PackageReference Include="Microsoft.Bcl.Memory" /> | ||
| </ItemGroup> | ||
|  | ||
| <Import Condition=" '$(TargetFramework)' == 'net462' OR '$(TargetFramework)' == 'netstandard2.0' " Project="..\..\Shared\FxPolyfills\FxPolyfills.targets" /> | ||
|  | ||
| </Project> | 
        
          
          
            7 changes: 7 additions & 0 deletions
          
          7 
        
  src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/README.md
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # Microsoft.Extensions.ServiceDiscovery.Abstractions | ||
|  | ||
| The `Microsoft.Extensions.ServiceDiscovery.Abstractions` library provides abstractions used by the `Microsoft.Extensions.ServiceDiscovery` library and other libraries which implement service discovery extensions, such as service endpoint providers. For more information, see [Service discovery in .NET](https://learn.microsoft.com/dotnet/core/extensions/service-discovery). | ||
|  | ||
| ## Feedback & contributing | ||
|  | ||
| https://github.com/dotnet/aspire | 
        
          
          
            37 changes: 37 additions & 0 deletions
          
          37 
        
  src/Libraries/Microsoft.Extensions.ServiceDiscovery.Abstractions/ServiceEndpoint.cs
  
  
      
      
   
        
      
      
    
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              | Original file line number | Diff line number | Diff line change | 
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|  | ||
| using System.Net; | ||
| using Microsoft.AspNetCore.Http.Features; | ||
| using Microsoft.Extensions.ServiceDiscovery.Internal; | ||
|  | ||
| namespace Microsoft.Extensions.ServiceDiscovery; | ||
|  | ||
| /// <summary> | ||
| /// Represents an endpoint for a service. | ||
| /// </summary> | ||
| public abstract class ServiceEndpoint | ||
| { | ||
| /// <summary> | ||
| /// Gets the endpoint. | ||
| /// </summary> | ||
| public abstract EndPoint EndPoint { get; } | ||
|  | ||
| /// <summary> | ||
| /// Gets the collection of endpoint features. | ||
| /// </summary> | ||
| public abstract IFeatureCollection Features { get; } | ||
|  | ||
| /// <summary> | ||
| /// Creates a new <see cref="ServiceEndpoint"/>. | ||
| /// </summary> | ||
| /// <param name="endPoint">The endpoint being represented.</param> | ||
| /// <param name="features">Features of the endpoint.</param> | ||
| /// <returns>A newly initialized <see cref="ServiceEndpoint"/>.</returns> | ||
| public static ServiceEndpoint Create(EndPoint endPoint, IFeatureCollection? features = null) | ||
| { | ||
| ArgumentNullException.ThrowIfNull(endPoint); | ||
|  | ||
| return new ServiceEndpointImpl(endPoint, features); | ||
| } | ||
| } | 
      
      Oops, something went wrong.
        
    
  
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.