Configure o SDK de cliente TCP do ApsaraMQ for RocketMQ para .NET para enviar e receber mensagens de um aplicativo Windows.
Arquitetura do SDK
O SDK do ApsaraMQ for RocketMQ para .NET atua como um wrapper gerenciado sobre o SDK em C++. Ele usa processamento concorrente multithread em C++ para garantir alta eficiência e estabilidade, sem depender da biblioteca pública do SDK do Windows para .NET.
Ao compilar um projeto .NET no Visual Studio, a plataforma de destino padrão é AnyCPU, que seleciona automaticamente x86 ou x64 conforme o tipo de CPU. Em tempo de execução, o compilador Just-in-Time (JIT) do Common Language Runtime (CLR) do .NET converte o código Intermediate Language (IL) em código de máquina x86 ou x64. Como a DLL subjacente em C ou C++ é compilada como código de máquina x64, o SDK inclui uma DLL de 64 bits no modo release, criada com Visual Studio 2015 e .NET Framework 4.5.2. Essa DLL de 64 bits também é compatível com outras versões do Visual Studio.
O SDK oferece suporte apenas ao sistema operacional Windows de 64 bits.
A DLL em C++ exige o runtime do Visual C++ 2015. Caso esse runtime não esteja instalado, execute o instalador
vc_redist.x64.exeincluído no pacote do SDK.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do Alibaba Cloud Elastic Compute Service (ECS) para implantar seu aplicativo
Um sistema operacional Windows de 64 bits
Visual Studio 2015 (a DLL de 64 bits também é compatível com outras versões do Visual Studio)
.NET Framework 4.5.2
O runtime do Visual C++ 2015 (instale o
vc_redist.x64.exedo pacote do SDK caso ainda não esteja presente)Tópicos e group IDs criados no console do ApsaraMQ for RocketMQ (você pode especificar as tags de mensagem diretamente no código do aplicativo)
Baixe o SDK
Recomendamos que novos usuários e aqueles sem preocupação com custos de upgrade baixem a versão mais recente do SDK para .NET na página de notas de versão.
Após extrair o pacote, a estrutura de diretórios será a seguinte:
|
Diretório ou arquivo |
Descrição |
|
|
Arquivos DLL subjacentes em C++ e o instalador do runtime do Visual C++ 2015 |
|
|
Biblioteca estática em C++ |
|
|
Biblioteca dinâmica em C++ |
|
|
Símbolos de depuração |
|
|
Instalador do runtime do Visual C++ 2015 |
|
|
Código de exemplo para envio de mensagens normais, unidirecionais e ordenadas, além de consumo de mensagens normais e ordenadas |
|
|
Código wrapper PInvoke (deve ser incluído no seu projeto) |
|
|
Guia de configuração do ambiente do SDK e perguntas frequentes |
|
|
Correções de bugs e novos recursos por versão |
Os nomes dos arquivos no diretório lib/ podem variar dependendo da versão do SDK.
Configure um projeto de console .NET
-
Crie um projeto no Visual Studio.

-
Adicione os arquivos wrapper PInvoke: clique com o botão direito no projeto, selecione Add > Add Existing Item e escolha todos os arquivos do diretório
interface/do pacote extraído do SDK.
Defina a configuração de build: clique com o botão direito no projeto, selecione Properties > Configuration Manager, defina Active solution configuration como Release e Active solution platform como x64.
-
Escreva e compile seu aplicativo, copie os arquivos DLL do SDK para o diretório de saída do executável (ou para um diretório do sistema) e execute o programa.

O SDK inclui um projeto de demonstração pré-configurado que você pode abrir e compilar diretamente. Antes de executá-lo, copie os arquivos DLL necessários para o diretório do executável.
Configure um projeto ASP.NET Web Forms
-
Crie um projeto Web Forms para ASP.NET no Visual Studio.

-
Defina a configuração de build: clique com o botão direito no projeto, selecione Properties > Configuration Manager, defina Active solution configuration como Release e Active solution platform como x64.

Adicione os arquivos wrapper PInvoke: clique com o botão direito no projeto, selecione Add > Add Existing Item e escolha todos os arquivos do diretório
interface/do pacote extraído do SDK. Para mais detalhes, consulte a Etapa 2 em Configure um projeto de console .NET.-
Adicione o código de inicialização e encerramento do SDK ao arquivo
Global.asax.cs. O exemplo abaixo inicia o producer quando o aplicativo é iniciado e o encerra quando o aplicativo termina: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 } } } } Escreva e compile o aplicativo.
-
Copie os arquivos DLL do SDK para o diretório de saída do executável (ou para um diretório do sistema) e execute o programa.

-
Ative o IIS Express de 64 bits: selecione Tools > Options > Projects and Solutions > Web Projects e marque a caixa de seleção Use the 64 bit version of IIS Express.


Próximos passos
Após configurar o ambiente, use o código de exemplo no diretório demo/ para enviar e receber mensagens. Para obter mais informações sobre como criar tópicos, group IDs e tags de mensagem, consulte Criar recursos.
