using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Core.RabbitMQBus.Common; using Core.RabbitMQBus.EventBus; using Core.RabbitMQBus.Extensions; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace WindowsFormsApp1 { static class Program { private static IRabbitMqPublisher _rabbitMqPublisher; /// /// The main entry point for the application. /// [STAThread] static void Main(string[] args) { Console.WriteLine("Hello World!"); IServiceCollection services = new ServiceCollection(); services.AddLogging(); services.AddTransient(); services.AddTransient(); services.RegisterRabbitMQ(e => new RabbitMQOptions() { HostName = "124.71.132.255" }); //localhost services.RabbitMQRegisterSubscriber("Win", "Service"); //构建容器 IServiceProvider serviceProvider = services.BuildServiceProvider(); // 创建ConsoleLogProvider并根据日志类目名称(CategoryName)生成Logger实例 //解析 _rabbitMqPublisher = serviceProvider.GetService(); //Publisher(); //CreateWebHostBuilder(args).Build().Run(); Application.SetHighDpiMode(HighDpiMode.SystemAware); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } public static void mq() { } public static void Publisher() { for (int i = 0; i < 10000; i++) //100000 { Console.WriteLine("PublishTestCount:" + i); _rabbitMqPublisher.Publish("PublishTest1", "测试" + i); _rabbitMqPublisher.Publish("PublishTest2", "测试" + i); } } } public class TestService : ITestService, ISubscribe { [Subscribe(queueName: "PublishTest1")] public async Task Test(string message) { Thread.Sleep(10); Console.WriteLine(message + "PublishTest1"); return await Task.FromResult(ExecuteMethodResult.Success()); } [Subscribe(queueName: "PublishTest2")] public async Task Test1(string message) { Console.WriteLine(message + "PublishTest2"); return await Task.FromResult(ExecuteMethodResult.Success()); } } public interface ITestService { } }