このトピックでは、SDKを使用してApsaraMQ for RocketMQにアクセスするための環境を準備する方法について説明します。のSDKを使用できるようにします。メッセージを送受信するための. NET.
最新のRocketMQ 5.x SDKを使用することを推奨します。 これらのSDKは、ApsaraMQ for RocketMQ 5.xブローカーと完全に互換性があり、より多くの機能と拡張機能を提供します。 詳細については、「リリースノート」をご参照ください。
Alibaba Cloudは、RocketMQ 4.x、3.x、およびTCPクライアントSDKのみを保持します。 既存のビジネスにのみ使用することを推奨します。
Windows SDK用。NETの概要
. Alibaba Cloudが提供するNETバージョンは、ApsaraMQ for RocketMQ C ++ バージョンに基づくホスト型カプセル化です。 それはそれを保証します。NETはWindowsから完全に独立しています。NETパブリックライブラリ。 C ++ マルチスレッド同時処理は、の効率と安定性を確保するために内部で使用されます。. NETバージョン
Visual Studioを使用して開発する場合。NETアプリケーションとクラスライブラリの場合、デフォルトのターゲットプラットフォームはAnyCPUです。 これは、CPUタイプに基づいてx86またはx64プラットフォームを自動的に選択できることを意味します。 実行中、共通言語ランタイム (CLR) のJust-in-Time (JIT) コンパイラ。NETは、ILコードをx86またはx64マシンコードに変換します。 CまたはC ++ コンパイラによって生成されるDLLは、マシンコードです。 したがって、コンパイル中にターゲットプラットフォームが選択されます。 コンパイルオプションを設定すると、CまたはC ++ プロジェクトはx64 64ビットDLLとしてコンパイルされます。 したがって、リリースモードの64ビットDLLは、Visual Studio 2015とを使用してコンパイルされます。NET Framework 4.5.2が提供されます。 リリースモードの64ビットDLLは、他のバージョンのVisual Studioでも使用できます。
SDK for。NETは、Windows 64ビットオペレーティングシステムのみをサポートします。
C ++ DLLファイルには、Visual C ++ 2015ランタイム環境のインストールパッケージが必要です。 Visual Studio 2015ランタイム環境がインストールされていない場合は、SDKで提供されているvc_redist.x64.exeプログラムを実行します。
Windows SDK forをダウンロードします。NET
アップグレード費用に関係のない新規ユーザーと既存ユーザーの両方が最新のSDKをダウンロードすることをお勧めします。 SDKの最新バージョンのダウンロードURLの詳細については、「リリースノート」をご参照ください。
パッケージをダウンロードして解凍します。 次のディレクトリ構造が表示されます。
lib/
基になるC ++ DLLとVisual C ++ 2015ランタイム環境のインストールパッケージに関連するファイルが含まれています。 Visual Studio 2015ランタイム環境がインストールされていない場合は、次のコードをコピーしてvc_redist.x64.exeプログラムをインストールします。
64 / ONSClient4CPP.lib ONSClient4CPP.dll ONSClient4CPP.pdb vc_redist.x64.exe
デモ /
通常のメッセージ、一方向メッセージ、および順序付けられたメッセージを送信するためのサンプルコードが含まれています。 このディレクトリには、通常のメッセージと順序付けられたメッセージを使用するためのサンプルコードも含まれます。
インターフェース /
PInvokeコードをカプセル化します。 コードはプロジェクトコードに含める必要があります。
SDK_GUIDE.pdf
SDK環境の準備方法に関するドキュメントとよくある質問 (FAQ) が含まれています。
変更ログ
新しいリリースのバグ修正と新機能が含まれています。
SDK forを使用するための設定。Visual Studio 2015のNET
Visual Studio 2015を使用してプロジェクトを作成します。
プロジェクトを右クリックし、[追加] > [既存のアイテムの追加] を選択して、ダウンロードしたSDKパッケージのinterfaceディレクトリにすべてのファイルを追加します。
プロジェクトを右クリックし、
を選択します。 [アクティブなソリューション設定] を [リリース] に設定し、[アクティブなソリューションプラットフォーム] を [x64] に設定します。テストプログラムを作成してコンパイルし、SDKのDLLファイルを実行ファイルのディレクトリまたはシステムディレクトリに保存してから、プログラムを実行します。
説明SDKは、事前設定されたデモプロジェクトを提供します。 プロジェクトを直接開いてコンパイルすることができます。 プロジェクトを実行するときに、次の関連するDLLファイルを実行可能ファイルのディレクトリにコピーします。
Visual Studio 2015 ASP.NETでApsaraMQ for RocketMQ SDKを使用するための構成
Visual Studio 2015を使用して、ASP.NET用のWebフォームプロジェクトを作成します。
プロジェクトを右クリックし、
を選択します。 [アクティブなソリューション設定] を [リリース] に設定し、[アクティブなソリューションプラットフォーム] を [x64] に設定します。プロジェクトを右クリックし、
を選択して、ダウンロードしたSDKパッケージのインターフェイスディレクトリにすべてのファイルを追加します。コモンを設定する方法の詳細については、NETプロジェクトのステップ2をご参照ください。
SDKを起動および停止するためのコードをGlobal.asax.csファイルに追加します。
重要SDKコードをシングルトンクラスとしてカプセル化することをお勧めします。これにより、スコープの問題によりコードがガベージコレクターによってリサイクルされないようにすることができます。 SDKのexampleディレクトリには、単純なシングルトンクラスを実装するためのExample.csファイルが含まれています。 Example.csを使用するには、独自のプロジェクトに含める必要があります。
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; // The namespace where the SDK is located. using test; // The namespace where the class with the roughly encapsulated SDK is located. See the Example.cs file in the example directory of the SDK. namespace WebApplication4 { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // Code that runs on application startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); try { // The code for starting the SDK. The following code is the code after the SDK is roughly encapsulated. OnscSharp.CreateProducer(); OnscSharp.StartProducer(); } catch (Exception ex) { // Handle errors. } } protected void Application_End(object sender, EventArgs e) { try { // The code for stopping the SDK. OnscSharp.ShutdownProducer(); } catch (Exception ex) { // Handle errors } } } }
テストプログラムを作成してコンパイルします。
SDKのDLLファイルを実行可能ファイルのディレクトリまたはシステムディレクトリに保存し、プログラムを実行します。
を選択します。 次に、[Webサイトおよびプロジェクトに64ビットバージョンのIIS Expressを使用する] チェックボックスをオンにします。