Configure el SDK de cliente TCP de ApsaraMQ for RocketMQ para .NET con el fin de enviar y recibir mensajes desde una aplicación de Windows.
Arquitectura del SDK
El SDK de ApsaraMQ for RocketMQ para .NET es un contenedor administrado basado en el SDK de C++. Utiliza procesamiento concurrente multihilo de C++ para lograr alta eficiencia y estabilidad, y se mantiene independiente de la biblioteca pública del SDK de Windows para .NET.
Cuando Visual Studio compila un proyecto de .NET, la plataforma de destino predeterminada es AnyCPU, que selecciona automáticamente x86 o x64 según el tipo de CPU. Durante la ejecución, el compilador Just-in-Time (JIT) del Common Language Runtime (CLR) de .NET convierte el código Intermediate Language (IL) en código máquina x86 o x64. La DLL subyacente de C o C++ se compila como código máquina x64. Por lo tanto, el SDK incluye una DLL de 64 bits en modo de lanzamiento, compilada con Visual Studio 2015 y .NET Framework 4.5.2. Esta DLL de 64 bits es compatible con otras versiones de Visual Studio.
El SDK solo admite el sistema operativo Windows de 64 bits.
La DLL de C++ requiere el runtime de Visual C++ 2015. Si el runtime no está instalado, ejecute el instalador
vc_redist.x64.exeincluido en el paquete del SDK.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de Alibaba Cloud Elastic Compute Service (ECS) para desplegar su aplicación
Un sistema operativo Windows de 64 bits
Visual Studio 2015 (la DLL de 64 bits también es compatible con otras versiones de Visual Studio)
.NET Framework 4.5.2
El runtime de Visual C++ 2015 (instale
vc_redist.x64.exedesde el paquete del SDK si aún no está presente)Topics e ID de grupo creados en ApsaraMQ for RocketMQ console (las etiquetas de mensaje se pueden especificar en el código de su aplicación)
Descargar el SDK
Se recomienda que tanto los nuevos usuarios como los existentes que no tengan restricciones de costo de actualización descarguen la versión más reciente del SDK para .NET desde la página release notes.
Después de extraer el paquete, la estructura de directorios es la siguiente:
|
Directorio o archivo |
Descripción |
|
|
Archivos DLL subyacentes de C++ y el instalador del runtime de Visual C++ 2015 |
|
|
Biblioteca estática de C++ |
|
|
Biblioteca dinámica de C++ |
|
|
Símbolos de depuración |
|
|
Instalador del runtime de Visual C++ 2015 |
|
|
Código de ejemplo para enviar mensajes normales, unidireccionales y ordenados, así como para consumir mensajes normales y ordenados |
|
|
Código contenedor PInvoke (debe incluirse en su proyecto) |
|
|
Guía de configuración del entorno del SDK y preguntas frecuentes |
|
|
Correcciones de bugs y nuevas funciones por versión |
Los nombres de los archivos en el directorio lib/ pueden variar según la versión del SDK.
Configurar un proyecto de consola de .NET
-
Cree un proyecto en Visual Studio.

-
Agregue los archivos contenedores PInvoke: haga clic derecho en el proyecto, elija Add > Add Existing Item y seleccione todos los archivos del directorio
interface/del paquete del SDK extraído.
Establezca la configuración de compilación: haga clic derecho en el proyecto, elija Properties > Configuration Manager, luego establezca Active solution configuration en Release y Active solution platform en x64.
-
Escriba y compile su aplicación; después, copie los archivos DLL del SDK al directorio de salida del ejecutable (o a un directorio del sistema) y ejecute el programa.

El SDK incluye un proyecto de demostración preconfigurado que puede abrir y compilar directamente. Antes de ejecutarlo, copie los archivos DLL necesarios al directorio del ejecutable.
Configurar un proyecto ASP.NET Web Forms
-
Cree un proyecto Web Forms para ASP.NET en Visual Studio.

-
Establezca la configuración de compilación: haga clic derecho en el proyecto, elija Properties > Configuration Manager, luego establezca Active solution configuration en Release y Active solution platform en x64.

Agregue los archivos contenedores PInvoke: haga clic derecho en el proyecto, elija Add > Add Existing Item y seleccione todos los archivos del directorio
interface/del paquete del SDK extraído. Para más detalles, consulte el paso 2 en Configurar un proyecto de consola de .NET.-
Agregue el código de inicio y cierre del SDK al archivo
Global.asax.cs. El siguiente ejemplo inicia el productor cuando arranca la aplicación y lo detiene cuando finaliza: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 namespace using test; // Wrapper classes namespace namespace WebApplication4 { public class Global : HttpApplication { void Application_Start(object sender, EventArgs e) { // Standard ASP.NET startup RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); try { // Initialize and start the producer OnscSharp.CreateProducer(); OnscSharp.StartProducer(); } catch (Exception ex) { // Handle initialization errors } } protected void Application_End(object sender, EventArgs e) { try { // Shut down the producer gracefully OnscSharp.ShutdownProducer(); } catch (Exception ex) { // Handle shutdown errors } } } } Escriba y compile la aplicación.
-
Copie los archivos DLL del SDK al directorio de salida del ejecutable (o a un directorio del sistema) y ejecute el programa.

-
Habilite IIS Express de 64 bits: vaya a Tools > Options > Projects and Solutions > Web Projects y seleccione la casilla Use the 64 bit version of IIS Express.


Pasos siguientes
Una vez configurado el entorno, utilice el código de ejemplo del directorio demo/ para enviar y recibir mensajes. Para obtener más información sobre cómo crear topics, ID de grupo y etiquetas de mensaje, consulte Create resources.
