2017-12-21 17 views
0

내 로컬 컴퓨터에서 hazelcast 임베디드 아키텍처를 구현하려고 시도한 Im은 두 개의 C# 콘솔 응용 프로그램, 서로 다른 프로세스 (두 대 인스턴스)를 작성했습니다. 그래서 내 주요 목표는 먼저 데이터 쓰기 앱이며 두 번째는 동일한 데이터를 읽는 것입니다.Hazelcast C# 두 개의 서로 다른 프로세스에서 읽기 쓰기

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, 버전 = 1.0.0.0, Culture = neutral, PublicKeyToken = null '을 찾을 수 없습니다. "

이 환경을 설정하는 방법은 무엇입니까?

감사

+0

이 문제가 있습니까? https://stackoverflow.com/questions/13090955/deserialization-exception-unable-to-find-assembly Person을 두 개의 다른 어셈블리로 정의 했습니까? –

+0

음, 예, 두 솔루션 모두에서 사람을 정의했지만 ClienConfig()를 구성하고 lib를 만들지 않고 수정할 수있는 방법이 있습니까? –

+0

"ClienConfig()"구성이란 무엇을 의미합니까? 나는 그 질문을 이해하지 못했습니다. –

답변

0

가 해결책을 발견, 난 단지 두 솔루션에서 클래스 라이브러리를 분리하는 수준의 사람을 이동, 그것은했다. 매우 흥미로운.