【问题标题】:Hazelcast c# write read from two different processesHazelcast c#从两个不同的进程写入读取
【发布时间】:2017-12-21 10:02:18
【问题描述】:

我试图在我的本地机器上实现 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: 'Unable to find assembly 'ConsoleApp1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'。"强>

如何设置这种环境?

谢谢

【问题讨论】:

  • 你有这个问题吗:stackoverflow.com/questions/13090955/…你是不是在两个不同的程序集中定义了Person?
  • 嗯,是的,我在两种解决方案中都定义了 person,但是有没有办法通过配置 ClienConfig() 而不是制作 lib 来解决?
  • “配置 ClienConfig()”是什么意思。我不明白这个问题。

标签: c# caching hazelcast


【解决方案1】:

找到了解决方案,我只在两个解决方案中将类 Person 移动到单独的类库中,并且它有效。很有趣。

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 2023-03-10
    • 2014-11-12
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多