Windows アプリケーションからメッセージの送信および受信を行うために、ApsaraMQ for RocketMQ TCP クライアント SDK for .NET を設定します。
SDK のアーキテクチャ
ApsaraMQ for RocketMQ for .NET SDK は、C++ SDK をラップしたマネージドライブラリです。高い効率性および安定性を実現するために C++ のマルチスレッド並行処理を採用しており、Windows 向け .NET Framework のパブリックライブラリには依存しません。
Visual Studio で .NET プロジェクトをコンパイルする際、デフォルトのターゲットプラットフォームは `AnyCPU` であり、CPU の種類に応じて自動的に x86 または x64 を選択します。実行時において、.NET 共通言語ランタイム (CLR) 内のジャストインタイム (JIT) コンパイラが中間言語 (IL) コードを x86 または x64 のマシンコードに変換します。一方、基盤となる C/C++ DLL は x64 マシンコードとしてコンパイルされています。そのため、SDK ではリリースモード向けに Visual Studio 2015 および .NET Framework 4.5.2 を使用してビルドされた 64 ビット DLL を提供しています。この 64 ビット DLL は、他のバージョンの Visual Studio とも互換があります。
SDK は Windows 64 ビットオペレーティングシステムのみをサポートします。
C++ DLL は Visual C++ 2015 ランタイムを必要とします。該当ランタイムがインストールされていない場合は、SDK パッケージに含まれる
vc_redist.x64.exeインストーラーを実行してください。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
アプリケーションをデプロイするための Alibaba Cloud Elastic Compute Service (ECS) インスタンス
Windows 64 ビットオペレーティングシステム
Visual Studio 2015(64 ビット DLL は他のバージョンの Visual Studio とも互換)
.NET Framework 4.5.2
Visual C++ 2015 ランタイム(未インストールの場合は、SDK パッケージ内の
vc_redist.x64.exeをインストールしてください)ApsaraMQ for RocketMQ コンソール で作成済みのトピックおよびグループ ID(メッセージタグはアプリケーションコード内で指定可能)
SDK のダウンロード
新規ユーザーおよびアップグレードコストを懸念しない既存ユーザーには、リリースノート ページから最新版の .NET SDK をダウンロードすることを推奨します。
パッケージを展開すると、ディレクトリ構造は以下のようになります。
ディレクトリまたはファイル | 説明 |
| 基盤となる C++ DLL ファイルおよび Visual C++ 2015 ランタイムインストーラー |
| C++ 静的ライブラリ |
| C++ 動的ライブラリ |
| デバッグシンボル |
| Visual C++ 2015 ランタイムインストーラー |
| 通常メッセージ、ワンウェイメッセージ、順序付きメッセージの送信および通常・順序付きメッセージの消費に関するサンプルコード |
| P/Invoke ラッパーのコード(プロジェクト内に必ず含める必要があります) |
| SDK 環境構築ガイドおよびよくある質問 |
| 各リリースにおけるバグ修正および新機能 |
lib/ ディレクトリ内のファイル名は、SDK のバージョンによって異なる場合があります。.NET コンソールプロジェクトの設定
Visual Studio でプロジェクトを作成します。

P/Invoke ラッパーのファイルを追加します:プロジェクトを右クリックし、[追加] > [既存の項目の追加] を選択し、展開した SDK パッケージの
interface/ディレクトリからすべてのファイルを選択します。
ビルド構成を設定します:プロジェクトを右クリックし、[プロパティ] > [構成マネージャー] を選択し、[アクティブなソリューション構成] を [リリース] に、[アクティブなソリューションプラットフォーム] を [x64] に設定します。
アプリケーションを記述・コンパイルした後、SDK の DLL ファイルを実行可能ファイルの出力ディレクトリ(またはシステムディレクトリ)にコピーし、プログラムを実行します。

SDK には事前に構成済みのデモプロジェクトが含まれており、そのまま開いて直接コンパイルできます。実行する前に、必要な DLL ファイルを実行可能ファイルのディレクトリにコピーしてください。
ASP.NET Web Forms プロジェクトの設定
Visual Studio で ASP.NET 向け Web Forms プロジェクトを作成します。

ビルド構成を設定します:プロジェクトを右クリックし、[プロパティ] > [構成マネージャー] を選択し、[アクティブなソリューション構成] を [リリース] に、[アクティブなソリューションプラットフォーム] を [x64] に設定します。

P/Invoke ラッパーのファイルを追加します:プロジェクトを右クリックし、[追加] > [既存の項目の追加] を選択し、展開した SDK パッケージの
interface/ディレクトリからすべてのファイルを選択します。詳細については、「.NET コンソールプロジェクトの設定」の手順 2 をご参照ください。Global.asax.csファイルに SDK の起動およびシャットダウンコードを追加します。以下の例では、アプリケーション起動時にプロデューサーを初期化・起動し、アプリケーション終了時に正常にシャットダウンします。using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Optimization; using System.Web.Routing; using System.Web.Security; using System.Web.SessionState; using ons; // SDK 名前空間 using test; // ラッパークラスの名前空間 namespace WebApplication4 { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // 標準的な ASP.NET 起動処理 RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); try { // プロデューサーの初期化および起動 OnscSharp.CreateProducer(); OnscSharp.StartProducer(); } catch (Exception ex) { // 初期化エラーの処理 } } protected void Application_End(object sender, EventArgs e) { try { // プロデューサーの正常なシャットダウン OnscSharp.ShutdownProducer(); } catch (Exception ex) { // シャットダウンエラーの処理 } } } }アプリケーションを記述・コンパイルします。
SDK の DLL ファイルを実行可能ファイルの出力ディレクトリ(またはシステムディレクトリ)にコピーし、プログラムを実行します。

64 ビット版 IIS Express を有効化します: [ツール] > [オプション] > [プロジェクトとソリューション] > [Web プロジェクト] を選択し、[64 ビット版 IIS Express を使用する] のチェックボックスをオンにします。


次のステップ
環境の設定が完了したら、demo/ ディレクトリ内のサンプルコードを使用してメッセージの送信および受信を行ってください。トピック、グループ ID、メッセージタグの作成方法については、「リソースの作成」をご参照ください。
