Microsoft.Extensions.ServiceDiscovery.Dns 8.1.0

前缀已预留
dotnet add package Microsoft.Extensions.ServiceDiscovery.Dns --version 8.1.0                
NuGet\Install-Package Microsoft.Extensions.ServiceDiscovery.Dns -Version 8.1.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery.Dns" Version="8.1.0" />                
对于支持 PackageReference 的项目,请将此 XML 节复制到项目文件中,以便引用包。
paket add Microsoft.Extensions.ServiceDiscovery.Dns --version 8.1.0                
#r "nuget: Microsoft.Extensions.ServiceDiscovery.Dns, 8.1.0"                
#r 指令可用于 F# Interactive 和多语言笔记本。将此内容复制到交互工具或脚本源代码中,以引用该包。
// Install Microsoft.Extensions.ServiceDiscovery.Dns as a Cake Addin
#addin nuget:?package=Microsoft.Extensions.ServiceDiscovery.Dns&version=8.1.0

// Install Microsoft.Extensions.ServiceDiscovery.Dns as a Cake Tool
#tool nuget:?package=Microsoft.Extensions.ServiceDiscovery.Dns&version=8.1.0                

Microsoft.Extensions.ServiceDiscovery.Dns

此库提供使用 DNS (域名系统) 解析服务端点的支持。它提供两种服务端点提供者

  • DNS,它使用 DNS A/AAAA 记录查询来解析端点。这意味着它可以解析名称到 IP 地址,但不能解析端点的端口号。因此,假定端口号是协议的默认值(例如,HTTP 的 80 和 HTTPS 的 433)。使用 DNS 提供程序的好处是,对于这些默认端口合适的情况,客户端可以将它们的请求分散到不同的主机。有关更多信息,请参阅 使用端点选择器的负载均衡

  • DNS SRV,它使用 DNS SRV 记录查询来解析服务名称。这使得它可以解析 IP 地址和端口号。这对于支持 DNS SRV 查询的环境很有用,例如 Kubernetes(当相应配置时)。

使用 DNS 解析服务端点

DNS服务端点提供商通过DNS A/AAAA记录查询来解析端点。这意味着它可以解析域名到IP地址,但不能解析端口号码端点。因此,端口号码被认为是协议的默认值(例如,HTTP的80和HTTPS的433)。使用DNS服务端点提供商的好处是,在默认端口适用的情况下,客户端可以分散其请求到不同的主机。关于更多信息,请参阅使用端点选择器进行负载均衡

要在您的应用程序中配置DNS服务端点提供商,请使用AddDnsServiceEndpointProvider方法将DNS服务端点提供商添加到主机构建器中的服务集合,如下所示

builder.Services.AddServiceDiscoveryCore();
builder.Services.AddDnsServiceEndpointProvider();

使用DNS SRV在Kubernetes中解析服务端点

在部署到Kubernetes时,可以使用DNS SRV服务端点提供商来解析端点。例如,以下资源定义将在名为"basket"的"basket"服务上创建一个名为"dashboard"和名为"default"的DNS SRV记录。

apiVersion: v1
kind: Service
metadata:
  name: basket
spec:
  selector:
    name: basket-service
  clusterIP: None
  ports:
  - name: default
    port: 8080
  - name: dashboard
    port: 8888

要配置一个服务以解析"basket"服务上的"dashboard"端点,请按如下方式在主机构建器中添加DNS SRV服务端点提供商

builder.Services.AddServiceDiscoveryCore();
builder.Services.AddDnsSrvServiceEndpointProvider();

特殊端口名称"默认"用于指定默认端点,使用URI http://basket解析。

如前一个示例,为"basket"服务向HttpClient添加服务发现

builder.Services.AddHttpClient<BasketServiceClient>(
    static client => client.BaseAddress = new("http://basket"));

类似地,可以这样定位"dashboard"端点

builder.Services.AddHttpClient<BasketServiceDashboardClient>(
    static client => client.BaseAddress = new("http://_dashboard.basket"));

反馈 & 贡献

https://github.com/dotnet/aspire

产品 兼容的和额外的计算目标框架版本。
.NET net8.0兼容。 net8.0-android是计算出来的。 net8.0-browser是计算出来的。 net8.0-ios是计算出来的。 net8.0-maccatalyst是计算出来的。 net8.0-macos是计算出来的。 net8.0-tvos是计算出来的。 net8.0-windows是计算出来的。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于目标框架.NET Standard的信息。

NuGet包

此包未被任何NuGet包使用。

GitHub仓库

此包未被任何流行的GitHub仓库使用。

版本 下载 最后更新
8.1.0 1,293 7/23/2024
8.0.2 847 6/28/2024
8.0.1 5,199 5/21/2024
8.0.0 162 5/21/2024
8.0.0-preview.7.24251.11 167 5/7/2024
8.0.0-preview.6.24214.1 318 4/23/2024
8.0.0-preview.5.24201.12 1,673 4/9/2024
8.0.0-preview.4.24156.9 495 3/12/2024
8.0.0-preview.3.24105.21 2,341 2/13/2024
8.0.0-preview.2.23619.3 1,384 12/20/2023
8.0.0-preview.1.23557.2 1,470 11/14/2023