You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2023/03/16 07:35:22 UTC

[rocketmq-clients] 03/05: Add more docs

This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git

commit 8efac8660fc19bbd2a19593aaba54cf84dc19ee5
Author: Aaron Ai <ya...@gmail.com>
AuthorDate: Thu Mar 16 14:48:37 2023 +0800

    Add more docs
---
 csharp/README-CN.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 csharp/README.md    | 24 +++++++++++++++------
 2 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/csharp/README-CN.md b/csharp/README-CN.md
new file mode 100644
index 00000000..6c520489
--- /dev/null
+++ b/csharp/README-CN.md
@@ -0,0 +1,62 @@
+# .NET 客户端
+
+[English](README.md) | 简体中文 | [RocketMQ 官网](https://rocketmq.apache.org/)
+
+## 最小版本支持
+
+支持.NET 5+ 和 .NET Core 3.1。
+
+由于.NET 5 在 2020 年的发布,统一了.NET Framework 和 .NET Core ,并逐渐成为 .NET 开发的主流平台。我们强烈推荐使用.NET
+5 访问 RocketMQ,但是与此同时我们也支持使用 .NET Core 3.1。如果您想使用 .NET Core 3.1 接入 RocketMQ,请在运行之前添加以下代码。
+
+```csharp
+AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true)
+```
+
+关于 .NET 5 的更多介绍,可以参照 [Introducing .NET 5](https://devblogs.microsoft.com/dotnet/introducing-net-5/)。
+
+## 概述
+
+当前客户端基于 [rocketmq-apis](https://github.com/apache/rocketmq-apis)
+中的协议约束和 [gRPC-dotnet](https://github.com/grpc/grpc-dotnet) 进行构建,使用 Protocol Buffers 作为序列化协议。
+
+## 快速开始
+
+使用下面的命令来将客户端添加到你项目的依赖中:
+
+```sh
+dotnet add package RocketMQ.Client
+```
+
+你可以从 [Nuget Gallery](https://www.nuget.org/packages/RocketMQ.Client) 从获取最新的 `RocketMQ.Client`
+版本,我们提供了[代码示例](./examples)来帮助你快速开始。
+
+## 构建
+
+本项目的布局大致遵循[此处的指南](https://docs.microsoft.com/en-us/dotnet/core/tutorials/library-with-visual-studio-code?pivots=dotnet-5-0)
+,解决方案内包含客户端类库,单元测试模块和示例代码模块。假设你处于当前项目的路径下:
+
+```sh
+# 构建项目
+dotnet build
+# 运行单元测试
+dotnet test -l "console;verbosity=detailed"
+```
+
+## 日志系统
+
+我们使用 [NLog](https://nlog-project.org/) 作为日志实现,与 Java 客户端类似,我们允许使用环境来自定义日志相关的配置。
+
+* `rocketmq_log_level`:日志输出级别,默认为INFO。
+* `rocketmq_log_root`
+  :日志输出的根目录。默认路径为 `$HOME/logs/rocketmq`,因此完整路径为 `$HOME/logs/rocketmq/rocketmq-client.log`。
+* `rocketmq_log_file_maxIndex`:要保留的日志文件的最大数量。默认值为 10,单个日志文件的大小限制为 64 MB。暂不支持调整。
+
+除此之外,通过将 `mq_consoleAppender_enabled` 设置为 true,您可以同时将客户端日志输出到控制台进行调试。
+
+## NuGet 包发布步骤
+
+1. 打开命令行,进入 csharp 文件夹。
+2. 执行 `dotnet pack --configuration Release` 命令. 这会创建对应的 NuGet 包到 `bin/Release` 文件夹;
+3. 登录 NuGet Gallery 并登录,点击 `Upload` 按钮并将 nupkg 文件拖入提示框;
+4. 按照 NuGet Gallery 的提示,完成后续步骤。
diff --git a/csharp/README.md b/csharp/README.md
index df85a3fb..06babac7 100644
--- a/csharp/README.md
+++ b/csharp/README.md
@@ -1,11 +1,19 @@
 # The .NET Implementation of Apache RocketMQ Client
 
-Here is the .NET implementation of the client for [Apache RocketMQ](https://rocketmq.apache.org/).
+English | [简体中文](README-CN.md) | [RocketMQ Website](https://rocketmq.apache.org/)
 
 ## Supported .NET Versions
 
+.NET 5+ and .NET Core 3.1 is supported.
+
 Due to the release of .NET 5 in 2020, which unified .NET Framework and .NET Core, and has gradually become the
-mainstream platform for .NET development, the RocketMQ client will support .NET 5 and later versions.
+mainstream platform for .NET development. We strongly recommend using .NET 5 to access RocketMQ, and we also support
+accessing it using .NET Core 3.1. If you want to access it using .NET Core 3.1, please add the following code before
+running it.
+
+```csharp
+AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true)
+```
 
 See more details about .NET 5 from [Introducing .NET 5](https://devblogs.microsoft.com/dotnet/introducing-net-5/).
 
@@ -17,6 +25,8 @@ deserialization during transmission.
 
 ## Quickstart & Build
 
+Use the command below to add client into your dependencies.
+
 ```sh
 dotnet add package RocketMQ.Client
 ```
@@ -42,18 +52,18 @@ dotnet test -l "console;verbosity=detailed"
 We use [NLog](https://nlog-project.org/) as our logging implementation. Similar to the Java binding, we allow the use of
 environment variables to customize the related configuration:
 
-* `rocketmq.log.level`: Log output level, default is INFO.
-* `rocketmq.log.root`: The root directory of the log output. The default path is `$HOME/logs/rocketmq`, so the full path
+* `rocketmq_log_level`: Log output level, default is INFO.
+* `rocketmq_log_root`: The root directory of the log output. The default path is `$HOME/logs/rocketmq`, so the full path
   is `$HOME/logs/rocketmq/rocketmq-client.log`.
-* `rocketmq.log.file.maxIndex`: The maximum number of log files to keep. The default is 10, and the size of a single log
+* `rocketmq_log_file_maxIndex`: The maximum number of log files to keep. The default is 10, and the size of a single log
   file is limited to 64 MB. Adjustment is not supported yet.
 
-Specifically, by setting `mq.consoleAppender.enabled` to true, you can output client logs to the console simultaneously
+Specifically, by setting `mq_consoleAppender_enabled` to true, you can output client logs to the console simultaneously
 if you need debugging.
 
 ## Publishing Steps
 
-1. Open the command prompt, and change the directory to the project folder that you want to package.
+1. Open the command line, and change the directory to the project folder that you want to package.
 2. Run the `dotnet pack --configuration Release` command. This will create a NuGet package in the `bin/Release` folder
    of the project.
 3. To upload the package to NuGet, go to the NuGet website and sign in. Click on the "Upload" button and select the