Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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}";
                });
            }
        }