Hazelcast c#来自两个不同进程的读取

问题描述 投票:0回答:1

我试图在我的本地机器上实现hazelcast嵌入式架构,因此编写了两个C#控制台应用程序,不同的进程(两个vs实例)。所以我的主要目标是首先应用程序写入数据,然后再读取相同内容。我的代码看起来像吼叫

ConsoleApp1(标准模板):

static void Main(string[] args)
    {
        var clientConfig = new ClientConfig();
        clientConfig.GetNetworkConfig().AddAddress("127.0.0.1");

        var sc = new SerializerConfig()
            .SetImplementation(new CustomSerializer())
            .SetTypeClass(typeof(Person));

            //Custom Serialization setup up for Person Class.

            clientConfig.GetSerializationConfig().AddSerializerConfig(sc);


        IHazelcastInstance client = HazelcastClient.NewHazelcastClient(clientConfig);
        //All cluster operations that you can do with ordinary HazelcastInstance

        IMap<string, Person> mapCustomers = client.GetMap<string, Person>("persons");
        mapCustomers.Put("1", new Person("Joe", "Smith"));
        mapCustomers.Put("2", new Person("Ali", "Selam"));
        mapCustomers.Put("3", new Person("Avi", "Noyan"));

        ICollection<Person> persons = mapCustomers.Values();
        foreach (var person in persons)
        {
            Console.WriteLine(person.ToString());
        }

    }

第二

 static void Main(string[] args)
    {
        var clientConfig = new ClientConfig();
        clientConfig.GetNetworkConfig().AddAddress("127.0.0.1");
        var sc = new SerializerConfig()
            .SetImplementation(new CustomSerializer())
            .SetTypeClass(typeof(Person));
        clientConfig.GetSerializationConfig().AddSerializerConfig(sc);
        IHazelcastInstance client = Hazelcast.Client.HazelcastClient.NewHazelcastClient(clientConfig);
        IMap<string, Person> mapPersons = client.GetMap<string, Person>("persons");
        Console.WriteLine(mapPersons.Size());
        foreach (var person in mapPersons.Values() )
        {
            Console.WriteLine(person.Name);
        }


    }

当我运行第二个应用程序时,我收到错误“Hazelcast.IO.Serialization.HazelcastSerializationException:'无法找到程序集'ConsoleApp1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'。”

如何设置这种环境?

谢谢

c# caching hazelcast
1个回答
0
投票

找到了解决方案,我只将类Person移动到两个解决方案中的单独的类库中,并且它起作用了。很有意思。

© www.soinside.com 2019 - 2024. All rights reserved.