Пример #1
0
        private CacheManager()
        {
            //var serializer = new ProtobufSerializer();
            //var serializer = new BinarySerializer();
            var serializer         = new Utf8JsonSerializer();
            var redisConfiguration = new RedisConfiguration()
            {
                Hosts = new RedisHost[]
                {
                    new RedisHost()
                    {
                        Host = "127.0.0.1", Port = 6379
                    },
                },
            };

            cacheClient = new StackExchangeRedisCacheClient(serializer, redisConfiguration);
        }
Пример #2
0
        public void Use_Utf8Json_For_Requests()
        {
            using var server = HttpServerFixture.StartServer(CaptureBody);
            _body            = null;
            var serializer = new Utf8JsonSerializer();

            var testData = Fixture.Create <TestClass>();

            var client  = new RestClient(server.Url).UseUtf8Json();
            var request = new RestRequest().AddJsonBody(testData);

            var expected = testData;

            var a = client.Post(request);

            var actual = serializer.Deserialize <TestClass>(new RestResponse {
                RawBytes = _body
            });

            actual.Should().BeEquivalentTo(expected);
        }
Пример #3
0
        public void Use_Utf8Json_For_Response()
        {
            var expected = Fixture.Create <TestClass>();

            using var server = HttpServerFixture.StartServer(
                      (request, response) =>
            {
                var serializer = new Utf8JsonSerializer();

                response.ContentType     = "application/json";
                response.ContentEncoding = Encoding.UTF8;
                response.OutputStream.WriteStringUtf8(serializer.Serialize(expected));
            }
                      );

            var client = new RestClient(server.Url).UseUtf8Json();

            var actual = client.Get <TestClass>(new RestRequest()).Data;

            actual.Should().BeEquivalentTo(expected);
        }
Пример #4
0
        public static async Task Main(string[] args)
        {
            var sharedDictionary = new SharedDictionary(Utf8JsonSerializer.Default, FileStorage.Default, null);

            sharedDictionary.SetProperty("text", "sssss");
            sharedDictionary.SetProperty("number", 1234);
            sharedDictionary.SetProperty("data", new Data());
            sharedDictionary.SetProperty("list", new List <int> {
                1, 2, 3, 4
            });

            await sharedDictionary.SaveToStorageAsync();

            sharedDictionary = new SharedDictionary(Utf8JsonSerializer.Default, FileStorage.Default, null);
            await sharedDictionary.LoadFromStorageAsync();

            foreach (var property in sharedDictionary)
            {
                WriteLine($"key: {property.Key}");
            }

            WriteLine(sharedDictionary.GetProperty <string>("text"));
            WriteLine(sharedDictionary.GetProperty <int>("number"));
            WriteLine(sharedDictionary.GetProperty <long>("number"));
            WriteLine(sharedDictionary.GetProperty <Data>("data"));
            WriteLine(sharedDictionary.GetProperty <List <int> >("list")?.Count);
            WriteLine(sharedDictionary.GetProperty <IEnumerable <int> >("list").Count());

            var serializer = new Utf8JsonSerializer();

            serializer.MigrationTypeDictionary[TypeCache <Data> .FullName] = TypeCache <MigratedData> .FullName;
            sharedDictionary = new SharedDictionary(serializer, FileStorage.Default, null);
            await sharedDictionary.LoadFromStorageAsync();

            WriteLine($"MigratedData: {sharedDictionary.GetProperty<MigratedData>("data")}");
        }