private static void TestPushDataToKafka() { var topic = "dudu_test"; var text = "Heello"; var kafkaHost = ConfigurationManagerExtensions.GetValueByKey("Kafka:Host") ?? "127.0.0.1:9092"; var config = new Dictionary <string, object> { { "bootstrap.servers", kafkaHost }, { "acks", "all" }, { "retries", 3 }, }; Console.WriteLine("Push to Kafka"); var sw = Stopwatch.StartNew(); using (var producer = new Producer <string, string>(config, new StringSerializer(Encoding.UTF8), new StringSerializer(Encoding.UTF8))) { var result = producer.ProduceAsync(topic, null, text).GetAwaiter().GetResult(); producer.Flush(1); } sw.Stop(); Console.WriteLine($"Pushed MSG: '{text}' to TOPIC: {topic} into Kafka in miliseconds: {sw.ElapsedMilliseconds}"); Console.WriteLine("Press 'Enter' key for close"); }
public void When_one_trigger_callback_is_registered_Then_the_callback_is_notified_the_request_succeeds() { ConfigurationManagerExtensions.AddFakeAppServiceRuntimeSettings(); var packageUri = Any.Uri(); var callbackPath = Any.UriPath(); using (var mockService = new MockService() .OnRequest(r => r.Path.ToString() == "/" + callbackPath) .RespondWith(r => r.StatusCode = 200)) { var callbackUri = mockService.GetBaseAddress() + callbackPath; using (var server = Microsoft.Owin.Testing.TestServer.Create <Startup>()) { server.HttpClient.PutAsync(String.Format("/api/Trigger?triggerId={0}", Any.Guid()), Any.Azure.AppServiceTrigger.MyGetConnectorTriggerBody(callbackUri).ToJsonStringContent()) .Wait(); server .HttpClient .AsMyGetTriggerSource() .PostAsync("/api/MyGetWebhook/", Any.MyGet.WebHooks.PackageAddedPayload(packageUri).ToJsonStringContent("application/vnd.myget.webhooks.v1+json")) .Result .ShouldSucceed(); } } }
public async Task <object> ClientSendData(string topic, string msg) { var kafkaHost = ConfigurationManagerExtensions.GetValueByKey("Kafka:Host") ?? "127.0.0.1:9092"; var config = new Dictionary <string, object> { { "bootstrap.servers", kafkaHost }, { "acks", "all" }, { "retries", 3 } }; Console.WriteLine("Push to Kafka"); var sw = Stopwatch.StartNew(); using (var producer = new Producer <Null, string>(config, null, new StringSerializer(Encoding.UTF8))) { var result = await producer.ProduceAsync(topic, null, msg); producer.Flush(1000); } sw.Stop(); Console.WriteLine($"Pushed into Kafka MSG: '{msg}' to TOPIC: {topic} in miliseconds: {sw.ElapsedMilliseconds}"); return(new { Success = true, Topic = topic }); }
private static void Run() { var redishost = ConfigurationManagerExtensions.GetConnectionString("RedisConnectionString"); RedisServices.Init(redishost, null, string.Empty); CommandsAndEventsRegisterEngine.AutoRegister(); EngineeCommandWorkerQueue.Start(); EngineeEventWorkerQueue.Start(); var cmd = (Console.ReadLine() ?? string.Empty).ToLower().Trim(); while (!cmd.Equals("quit")) { switch (cmd) { case "quit": _stop = true; break; case "stop": _stop = true; break; case "start": _stop = false; MessiveSendCmd(null); break; case "pubsub": CommandEventSender.Send(new SampleEventCreated() { PublishedEventId = Guid.NewGuid(), SampleVersion = DateTime.Now.ToString(), Version = 0 }); break; case "pubsubmad": _stop = false; MessiveSendCmd(() => { CommandEventSender.Send(new SampleEventCreated() { PublishedEventId = Guid.NewGuid(), SampleVersion = DateTime.Now.ToString(), Version = 0 }); }); break; } cmd = (Console.ReadLine() ?? string.Empty).ToLower().Trim(); } Console.Read(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddCors(); services.AddMvc(option => { // option.Filters.Add(new IotHubAuthorizeAttribute()); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1); //RedisServices.Init("172.16.10.166", null, string.Empty); var redishost = ConfigurationManagerExtensions.GetConnectionString("RedisConnectionString"); RedisServices.Init(redishost, null, string.Empty); CommandsAndEventsRegisterEngine.AutoRegister(); EngineeCommandWorkerQueue.Start(); EngineeEventWorkerQueue.Start(); services.AddSwagger(); }
private async Task InitClient() { if (_mqttClient == null) { _mqttClient = _mqttfactory.CreateMqttClient(); var mqttHost = ConfigurationManagerExtensions.GetValueByKey("Mqtt:Host") ?? "127.0.0.1"; var option = new MQTTnet.Client.MqttClientOptions { ChannelOptions = new MQTTnet.Client.MqttClientTcpOptions { Server = mqttHost }, ClientId = "dudu_" + Guid.NewGuid().ToString(), //KeepAlivePeriod = new TimeSpan(0, 0, 1) }; _mqttClient.ApplicationMessageReceived += (sender, e) => { Console.WriteLine("Client Received: Do anything you want"); Console.WriteLine("Sender"); Console.WriteLine(JsonConvert.SerializeObject(sender)); Console.WriteLine("MqttApplicationMessageReceivedEventArgs"); Console.WriteLine(JsonConvert.SerializeObject(e)); }; _mqttClient.Disconnected += (sender, e) => { //try reconnect _mqttClient.ConnectAsync(option); }; await _mqttClient.ConnectAsync(option); await _mqttClient.SubscribeAsync(new List <TopicFilter>() { new TopicFilterBuilder() .WithTopic(_mqttClient.Options.ClientId) .WithAtLeastOnceQoS() .Build() }); } }
/// <summary> /// Build setting from appsettings.json /// </summary> /// <param name="appSettingsFileName"></param> public static void Init(string appSettingsFileName = "appsettings.json") { IConfiguration config = new ConfigurationBuilder() .AddJsonFile(appSettingsFileName, true, true).Build(); ConfigurationManagerExtensions.SetConfiguration(config); var redisHost = ConfigurationManagerExtensions.GetValueByKey("Redis:Host") ?? "127.0.0.1"; var redisPort = ConfigurationManagerExtensions.GetValueByKey("Redis:Port") ?? "6379"; var redisPwd = ConfigurationManagerExtensions.GetValueByKey("Redis:Password") ?? string.Empty; int?redisPortInt = null; if (!string.IsNullOrEmpty(redisPort)) { redisPortInt = int.Parse(redisPort); } RedisUsage.RedisServices.RedisServices.Init(redisHost, redisPortInt, redisPwd); }
public void When_one_trigger_callback_is_registered_but_target_is_not_available_Then_the_request_succeeds() { var packageUri = Any.Uri(); ConfigurationManagerExtensions.AddFakeAppServiceRuntimeSettings(); using (var server = Microsoft.Owin.Testing.TestServer.Create <Startup>()) { server.HttpClient.PutAsync(String.Format("/api/Trigger?triggerId={0}", Any.Guid()), Any.Azure.AppServiceTrigger.MyGetConnectorTriggerBody(Any.Uri().ToString()).ToJsonStringContent()) .Wait(); server.HttpClient .AsMyGetTriggerSource() .PostAsync("/api/MyGetWebhook/", Any.MyGet.WebHooks.PackageAddedPayload(packageUri).ToJsonStringContent("application/vnd.myget.webhooks.v1+json")) .Result .ShouldSucceed(); } }
public EncodingOptions GetEncodingOptions() { return(ConfigurationManagerExtensions.GetConfiguration <EncodingOptions>(_config, "encoding")); }
public SampleDbContext() : base(ConfigurationManagerExtensions.GetConnectionString("SampleDbContext")) { }
public AllInOneDbContext() : base(ConfigurationManagerExtensions.GetConnectionString("AllInOneDbContext")) { }
public EventSourcingDbContext() : base(ConfigurationManagerExtensions.GetConnectionString("EventSourcingDbContext")) { }
public Startup(IConfiguration configuration) { Configuration = configuration; ConfigurationManagerExtensions.SetConfiguration(configuration); }
public UserDomainDbContext(string connectionString) : base(ConfigurationManagerExtensions.GetConnectionString("UserDomainDbContext")) { }
public AuthenticateDbContext(string connectionString) : base(ConfigurationManagerExtensions.GetConnectionString("AuthenticateDbContext")) { }
public void GetVerificationEnvironmentReturnsNullIfConfigurationManagerIsNull() { var candidate = ConfigurationManagerExtensions.GetVerificationEnvironment(null); Assert.IsNull(candidate); }
public static void Main(string[] args) { var redisHost = ConfigurationManagerExtensions.GetValueByKey("Redis:Host") ?? "127.0.0.1"; var redisPort = ConfigurationManagerExtensions.GetValueByKey("Redis:Port") ?? "6379"; var redisPwd = ConfigurationManagerExtensions.GetValueByKey("Redis:Password") ?? string.Empty; int?redisPortInt = null; if (!string.IsNullOrEmpty(redisPort)) { redisPortInt = int.Parse(redisPort); } RedisUsage.RedisServices.RedisServices.Init(redisHost, redisPortInt, redisPwd); _kafkaHost = ConfigurationManagerExtensions.GetValueByKey("Kafka:Host") ?? "127.0.0.1:9092"; var mqttHost = ConfigurationManagerExtensions.GetValueByKey("Mqtt:Host") ?? "127.0.0.1"; _mqttConfig = new Dictionary <string, object> { { "bootstrap.servers", mqttHost }, { "acks", "all" } }; _mqttServer = _mqttfactory.CreateMqttServer(); _mqttServer.ClientConnected += _mqttServer_ClientConnected; _mqttServer.ClientDisconnected += _mqttServer_ClientDisconnected; _mqttServer.ClientSubscribedTopic += _mqttServer_ClientSubscribedTopic; _mqttServer.ClientUnsubscribedTopic += _mqttServer_ClientUnsubscribedTopic; _mqttServer.ApplicationMessageReceived += _mqttServer_ApplicationMessageReceived; MqttServerOptions options = BuildMqttServerOptions(); var tserver = _mqttServer.StartAsync(options); tserver.Wait(); Console.WriteLine("server started with mqttConfig: " + JsonConvert.SerializeObject(_mqttConfig)); Console.WriteLine("server started with kafkaConfig: " + JsonConvert.SerializeObject(_kafkaHost)); while (true) { Console.WriteLine("--------------"); Console.WriteLine("Type 'quit' to quit"); var cmd = Console.ReadLine(); if (cmd == "quit") { var tserverStop = _mqttServer.StopAsync(); tserver.Wait(); Environment.Exit(0); return; } if (cmd == "kafka-test") { TestPushDataToKafka(); } if (cmd.StartsWith("s-p")) { try { var clientId = cmd.Substring("s-p".Length + 1).Trim(); _mqttServer.PublishAsync(new MqttApplicationMessageBuilder() .WithTopic(clientId) .WithPayload("Ok Halo client") .WithAtLeastOnceQoS() .Build() ); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
public CommandEventStorageDbContext() : base(ConfigurationManagerExtensions.GetConnectionString("CommandEventStorageDbContext")) { }
public void GetVerificationPrefixReturnsDefaultIfConfigurationManagerIsNull() { var candidate = ConfigurationManagerExtensions.GetVerificationPrefix(null); Assert.AreEqual(ConfigurationManagerExtensions.DefaultVerificationPrefix, candidate); }
public ProjectSampleDatabase() : base(ConfigurationManagerExtensions.GetConnectionString("ProjectSampleDatabase")) { }