Este tópico descreve como preparar o ambiente para enviar e receber mensagens com o SDK para .NET do ApsaraMQ for RocketMQ.
Recomendamos o uso dos SDKs mais recentes do RocketMQ 5.x. Eles são totalmente compatíveis com os brokers do ApsaraMQ for RocketMQ 5.x e oferecem mais funções e recursos aprimorados. Para obter mais informações, consulte Informações sobre a versão do SDK C++.
A Alibaba Cloud mantém apenas os SDKs de cliente RocketMQ 4.x, 3.x e TCP. Utilize-os apenas para negócios existentes.
SDK do .NET para Windows
O SDK para .NET é um wrapper gerenciado construído sobre a versão C++ do cliente ApsaraMQ for RocketMQ. Esse design garante que o SDK opere independentemente das bibliotecas públicas padrão do .NET para Windows. Internamente, ele utiliza processamento simultâneo multithread em C++ para assegurar alto desempenho e estabilidade.
Ao desenvolver aplicativos .NET e bibliotecas de classes no Visual Studio (VS), a plataforma de destino padrão é "Any CPU". Essa configuração permite executar o aplicativo em plataformas x86 ou x64, dependendo da arquitetura do processador. Em tempo de execução, o compilador Just-In-Time (JIT) do Common Language Runtime (CLR) converte o código Intermediate Language (IL) em código de máquina nativo x86 ou x64. Por outro lado, uma DLL gerada por um compilador C/C++ já é código de máquina, com a plataforma de destino definida na compilação. Ao definir as opções de compilação apropriadas, o projeto C/C++ gera uma DLL x64. Portanto, este SDK fornece uma DLL de 64 bits no modo de release, compilada com Visual Studio 2015 e .NET Framework 4.5.2. Essa DLL também é compatível com outras versões do Visual Studio.
O SDK para .NET suporta apenas sistemas operacionais Windows de 64 bits.
Os arquivos DLL C++ exigem o ambiente de runtime do Visual C++ 2015. Se o runtime do Visual C++ 2015 não estiver instalado no sistema, execute o arquivo
vc_redist.x64.exefornecido no pacote do SDK para instalá-lo.
Baixe o SDK do .NET para Windows
Baixe a versão mais recente do SDK. Para obter o link de download da versão mais recente do SDK para .NET, consulte Notas de versão.
O pacote descompactado contém os seguintes diretórios e arquivos:
-
lib/
Contém os arquivos DLL C++ subjacentes e o instalador do runtime do Visual C++ 2015. Se o runtime do Visual C++ 2015 não estiver instalado, execute
vc_redist.x64.exepara instalá-lo.64/ ONSClient4CPP.lib ONSClient4CPP.dll ONSClient4CPP.pdb vc_redist.x64.exe -
demo/
Inclui códigos de exemplo para envio e consumo de mensagens normais, unidirecionais e ordenadas.
-
interface/
Abriga o código wrapper PInvoke a ser incluído no projeto.
-
SDK_GUIDE.pdf
Fornece documentação sobre como preparar o ambiente do SDK e uma lista de perguntas frequentes (FAQ).
-
changelog
Lista as correções de bugs e novos recursos incluídos em cada versão.
Configure o SDK do .NET no Visual Studio 2015
Crie um projeto no Visual Studio 2015. Abra o Visual Studio 2015 e clique em New Project.... Na caixa de diálogo New Project, acesse Installed > Templates > Visual C# > Windows. Selecione Console Application, defina o framework de destino como .NET Framework 4.5.2, especifique um nome para o projeto e clique em OK.
Clique com o botão direito no projeto, selecione Add > Existing Item... e adicione todos os arquivos do diretório interface do pacote SDK baixado.
Clique com o botão direito no projeto e selecione . Defina Active solution configuration como Release e Active solution platform como x64.
-
Escreva o programa de teste e compile-o. Para executar o programa, coloque os arquivos DLL do SDK no mesmo diretório do executável ou em um diretório do sistema. Após a compilação, localize os arquivos de runtime necessários, como ONSClient4CPP.dll, no diretório de saída, geralmente
bin\x64\Release.NotaO SDK inclui um projeto de demonstração pré-configurado. Abra e compile esse projeto diretamente. Antes de executar o aplicativo, copie os arquivos DLL necessários para o mesmo diretório do executável.
Os arquivos a copiar são
ONSClient4CPP.dll,ONSClient4CPP.libeONSClient4CPP.pdb. O diretório de destino, comobin\Debugoubin\Release, depende da configuração de build e da plataforma de destino.
Configure o ASP.NET no Visual Studio 2015 para usar o SDK do ApsaraMQ for RocketMQ
Crie um projeto ASP.NET Web Forms no Visual Studio 2015. No Visual Studio 2015, clique em New Project. Na árvore de modelos à esquerda, selecione Installed > Templates > Visual C#. Na lista de modelos, selecione ASP.NET Web Application, especifique o nome do projeto (por exemplo,
WebApplication1), defina a versão do framework como .NET Framework 4.5.2 e clique em OK.Clique com o botão direito no projeto e selecione . Defina Active solution configuration como Release e Active solution platform como x64.
-
Clique com o botão direito no projeto, selecione e adicione todos os arquivos do diretório interface do pacote SDK baixado.
Para obter mais informações, consulte a Etapa 2 na seção "Configure o SDK do .NET no Visual Studio 2015".
-
Adicione o código para iniciar e encerrar o SDK no arquivo Global.asax.cs.
ImportanteEnvolva o código do SDK em uma classe singleton. Isso impede que o coletor de lixo colete o objeto prematuramente quando ele sair do escopo. O diretório
exampleno pacote do SDK incluiExample.cs, que fornece uma implementação simples de singleton. IncluaExample.csno projeto para usá-lo.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 for a simple wrapper class for the SDK. See Example.cs in the SDK example directory. 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 { // Code to start the SDK. The following code uses a simple wrapper. OnscSharp.CreateProducer(); OnscSharp.StartProducer(); } catch (Exception ex) { // Handle exceptions. } } protected void Application_End(object sender, EventArgs e) { try { // Code to shut down the SDK. OnscSharp.ShutdownProducer(); } catch (Exception ex) { // Handle exceptions. } } } } Escreva o programa de teste e compile-o.
Para executar o programa, coloque os arquivos DLL do SDK no diretório bin do projeto. Após a compilação, verifique se o diretório de saída bin do projeto, como
Projects\WebApplication4\WebApplication4\bin, contém os arquivosONSClient4CPP.pdb,ONSClient4CPP.dlleONSClient4CPP.lib.Acesse e marque a caixa de seleção **Use the 64-bit version of IIS Express for websites and projects**.