C# examples: add a multi-tenant producer and consumer

オープン
#4,698 コメント 5 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@rokadepiyush49-rgb がすでに取り組んでいます。

2026年11月6日 から。

  • #4771 @huong8373tt-beep による — マージされずにクローズ
  • #4776 @rokadepiyush49-rgb による — オープン

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
csharp, rust

調査の方向性

Copy the layout of the MessageEnvelope producer and consumer under examples/csharp/src, and read examples/rust/src/multi-tenant/ for the intended flow. Check how IIggyUsers.CreateUserAsync and the Permissions and StreamPermissions types in foreign/csharp/Iggy_SDK/Contracts/ restrict a user to one stream. Done means dotnet build of examples/csharp/Iggy_SDK.Examples.sln succeeds with both new projects, and both run against a fresh server, with the producer showing a cross-tenant send is refused.

索引モデルが issue の本文から書いたものです。

説明

csharp good first issue
Description

The C# examples have Basic, GettingStarted, MessageEnvelope, MessageHeaders, NewSdk and TcpTls, but no multi-tenant example. Rust, Java and Node have one: each tenant gets its own stream and its own user, limited to that stream, and the example shows that a tenant cannot reach another tenant's stream.

Affected area / component

C# examples

Proposed solution

Add examples/csharp/src/MultiTenant/Iggy_SDK.Examples.MultiTenant.Producer/ and .../Iggy_SDK.Examples.MultiTenant.Consumer/, add both to examples/csharp/Iggy_SDK.Examples.sln, and add a README section in examples/csharp/README.md.

  • Copy the project layout (.csproj, Program.cs, Utils.cs) from the MessageEnvelope pair, and use the helpers in examples/csharp/src/Iggy_SDK.Examples.Shared.
  • The SDK has CreateUserAsync(userName, password, status, permissions) in IIggyUsers, and the Permissions and StreamPermissions types in foreign/csharp/Iggy_SDK/Contracts/.
  • Follow the flow of examples/rust/src/multi-tenant/: the producer creates N tenants (default 3) with a stream and a restricted user each, sends as each tenant and prints that another tenant's stream is refused. The consumer reads a tenant's stream as that tenant.

How to test: dotnet build examples/csharp/Iggy_SDK.Examples.sln builds both projects. Start a fresh server and run both with the dotnet run --project lines added to the README.

Good first issue
  • I think this could be a good first issue for a new contributor
主要言語
Rust
スター
5.2k
フォーク
502
平均マージ
2日 21時間
マージ済み PR(30日)
159

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/iggy のほかの issue

apache/iggy の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。