Witam.
Mam mały problem z c#.
Potrzebuję dodać do aplikacji RabbitMQ.
Mam taki kod:
Main app
using RabbitMQ.Client;
using System.Text;
using System;
using Main.Test;
namespace TestService.ConsoleApp
{
public class Program
{
public static void Main(string[] args)
{
// Test RabbitMQ
var sender = new Rabbit();
sender.Send("IDG", "Hello World!");
sender.Receive("IDG");
Console.ReadLine();
}
}
}
Rabbit.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RabbitMQ.Client;
namespace Main.Test
{
public class Rabbit
{
public IConnection GetConnection(string hostName, string userName, string password)
{
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.HostName = "localhost";
connectionFactory.UserName = "guest";
connectionFactory.Password = "guest";
connectionFactory.Port = 5672; // 5672 for regular connections, 5671 for connections that use TLS
return connectionFactory.CreateConnection();
}
public static void Send(string queue, string data)
{
using (IConnection connection = new ConnectionFactory().CreateConnection())
{
using (IModel channel = connection.CreateModel())
{
channel.QueueDeclare(queue, false, false, false, null);
channel.BasicPublish(string.Empty, queue, null, Encoding.UTF8.GetBytes(data));
}
}
}
public static void Receive(string queue)
{
using (IConnection connection = new ConnectionFactory().CreateConnection())
{
using (IModel channelconsumer = connection.CreateModel())
{
channelconsumer.QueueDeclare(queue, false, false, false, null);
//var consumer = new EventingBasicConsumer(channel);
BasicGetResult result = channelconsumer.BasicGet(queue, true);
if (result != null)
{
string data =
Encoding.UTF8.GetString(result.Body);
Console.WriteLine(data);
}
}
}
}
}
Kiedy uruchamiam kompilację otrzymuję taki błąd:
- sender.Send("IDG", "Hello World!"); and sender.Receive("IDG"); - CS0176 C# Member cannot be accessed with an instance reference; qualify it with a type name instead
Wie ktoś może w jaki sposób można to naprawić?