2017-05-30 13 views
0

呼び出しのターゲットによってスローされました - 例外がされています呼び出しのターゲットによってスローされます。Hazelcast DotNetのクライアントエラー:例外が、私はこの<a href="https://github.com/asimarslan/hazelcast-dotnet-examples" rel="nofollow noreferrer">link</a></p> <p>からのサンプルコードを使用してキャッシュサーバをhazelcastに接続しようとしています。しかし、私は以下のエラーを取得しています

ヘイゼルキャストキャッシュサーバーが(ローカルシステムで)実行されていることを確認しました。それは5701ポートで実行されており、同じC#コードが記載されています。以下は

コードです:

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Runtime.Serialization.Formatters.Binary; 
using Hazelcast.Config; 
using Hazelcast.Client; 
using Hazelcast.Core; 
using Hazelcast.IO; 
using Hazelcast.IO.Serialization; 

namespace Hazelcast.Client.Example 
{ 
    public class ExampleWithCustomSerializer 
    { 
     static void Main(string[] args) 
     { 
      var clientConfig = new ClientConfig(); 
      clientConfig.GetNetworkConfig().AddAddress("127.0.0.1:5701"); 

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

     HazelcastClient.ShutdownAll(); 
     Console.ReadKey(); 
    } 
} 

class CustomSerializer : IStreamSerializer<Person> 
{ 
    public int GetTypeId() 
    { 
     return 10; 
    } 

    public void Destroy() 
    { 
     //NOOP 
    } 

    public void Write(IObjectDataOutput output, Person t) 
    { 
     byte[] array; 
     var bf = new BinaryFormatter(); 
     using (var ms = new MemoryStream()) 
     { 
      bf.Serialize(ms, t); 
      array = ms.ToArray();     
     } 

     output.WriteInt(array.Length); 
     output.Write(array); 
    } 

    public Person Read(IObjectDataInput input) 
    { 
     var bf = new BinaryFormatter(); 
     var len = input.ReadInt(); 

     var buffer = new byte[len]; 
     input.ReadFully(buffer); 

     Person result = null; 
     using (var ms = new MemoryStream(buffer)) 
     { 
      result = (Person)bf.Deserialize(ms); 
     } 
     return result; 
    } 
} 

[Serializable] 
public class Person 
{ 
    private string name; 
    private string surname; 

    public Person(string name, string surname) 
    { 
     this.name = name; 
     this.surname = surname; 
    } 


    public string Name 
    { 
     get { return name; } 
     set { name = value; } 
    } 

    public string Surname 
    { 
     get { return surname; } 
     set { surname = value; } 
    } 

    public override string ToString() 
    { 
     return "Person{ name:" + name + ", surname:"+surname + " }"; 
    } 
} 

}

誰もがこの問題を解決するために私を助けることができるが、事前に感謝します。

答えて

関連する問題

 関連する問題