LatticeHub.Pole.Client
0.1.0-ALPHA.46
dotnet add package LatticeHub.Pole.Client --version 0.1.0-ALPHA.46
NuGet\Install-Package LatticeHub.Pole.Client -Version 0.1.0-ALPHA.46
<PackageReference Include="LatticeHub.Pole.Client" Version="0.1.0-ALPHA.46" />
<PackageVersion Include="LatticeHub.Pole.Client" Version="0.1.0-ALPHA.46" />
<PackageReference Include="LatticeHub.Pole.Client" />
paket add LatticeHub.Pole.Client --version 0.1.0-ALPHA.46
#r "nuget: LatticeHub.Pole.Client, 0.1.0-ALPHA.46"
#:package LatticeHub.Pole.Client@0.1.0-ALPHA.46
#addin nuget:?package=LatticeHub.Pole.Client&version=0.1.0-ALPHA.46&prerelease
#tool nuget:?package=LatticeHub.Pole.Client&version=0.1.0-ALPHA.46&prerelease
Pole C# Thin SDK
pole-client-csharp 是框架无关的 Pole C# Thin SDK。它负责:
- 通过 Unix Domain Socket 与本 Pod Sidecar 建立内部 gRPC bootstrap 会话;
- 接收 Sidecar 主动下发的一次性 HTTP、gRPC、Dubbo、Thrift listener 快照;
- 为业务请求生成
latticehub-target-namespace与latticehub-target-service元信息。
业务请求不会经过 bootstrap gRPC;应用仍按原协议访问 SDK 返回的
127.0.0.1:<listener-port>,由 Sidecar 代理到真实服务实例。
构建
仓库通过 NuGet 固定引用官方
LatticeHub.Pole.Specification 0.1.0-ALPHA.46,不复制生成代码或引用
Specification 源码工程:
git clone https://github.com/lattice-hub/pole-client-csharp.git
dotnet test tests/LatticeHub.Pole.Client.Tests/LatticeHub.Pole.Client.Tests.csproj
dotnet pack src/LatticeHub.Pole.Client/LatticeHub.Pole.Client.csproj
默认 UDS 为 /var/run/pole/sidecar/bootstrap.sock,仅支持通过
SidecarSessionOptions.SocketPath 或 POLE_SIDECAR_SOCKET 覆盖。SDK 不硬编码
任何业务 listener 端口;会话断开后快照立即失效,重连并收到完整首帧后恢复。
await using var session = await SidecarSession.ConnectAsync();
var grpcAddress = session.ListenerAddress(SidecarProtocol.Grpc);
var target = new TargetService("default", "orders");
var metadata = target.EncodeGrpcMetadata();
TargetService v1 只有 namespace 与 service。SDK 去除契约定义的首尾空白、
拒绝 Unicode Cc 控制字符和非法 UTF-16,并执行 canonical UTF-8 %HH 编码。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Grpc.Net.Client (>= 2.83.0)
- LatticeHub.Pole.Specification (>= 0.1.0-ALPHA.46)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-ALPHA.46 | 38 | 8/5/2026 |