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); }
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); }
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); }
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")}"); }