static void Main(string[] args) { Console.WriteLine("Hello World!"); var tester = new Tester(new UnityTestContextFactory(() => { var uc = new UnityContainer(); uc.AddRice(fullPathToDll => new ModuleDependencyLoader(fullPathToDll)); uc.RegisterSingleton <ICompressor, GzipCompressor>(); uc.RegisterSingleton <IStreamFactory, FileInfoStreamFactory>(); uc.RegisterSingleton <ISerializableFactory, ProtoSerializableFactory>(); uc.RegisterSingleton <ISerializer, SerializerWrapper>(); return(uc); })); var tests = new[] { tester.Test("can execute module", CanExecuteModule), tester.Test("can read/write module", CanReadWriteModule), tester.Test("Can Load Written Module", CanLoadWrittenModule) }; Task.WhenAll(tests).Wait(); }
private async void Send_OnClick(object sender, RoutedEventArgs e) { Error.Text = string.Empty; var uc = new UnityContainer(); uc.AddRice(p => new ModuleDependencyLoader(p)); uc.RegisterSingleton <ISerializableFactory, ProtoSerializableFactory>(); uc.RegisterSingleton <ISerializer, SerializerWrapper>(); var transferableModuleFactory = uc.Resolve <ITransportableModuleFactory>(); var transferable = await transferableModuleFactory.Create(AssemblyName.Text, DllPath.Text, FindDependencyStrategies.Default); var httpMessageHandler = new HttpClientHandler(); if (httpMessageHandler.SupportsAutomaticDecompression) { httpMessageHandler.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; } using var client = new HttpClient(httpMessageHandler); using var request = new HttpRequestMessage(HttpMethod.Post, Url.Text); //var json = JsonConvert.SerializeObject(transferable); using var httpContent = CreateJsonContent(transferable); request.Content = httpContent; string content = string.Empty; try { using var response = await client .SendAsync(request, HttpCompletionOption.ResponseHeadersRead, CancellationToken.None) .ConfigureAwait(false); content = await response.Content.ReadAsStringAsync(); response.EnsureSuccessStatusCode(); } catch (HttpRequestException httpRequestException) { Dispatcher.Invoke(() => { Error.Text = $"Exception:{httpRequestException}{Environment.NewLine}Response:{content}"; }); } }