public ZkAdaptor() { watcher = new ZkWatcher() { DataChangedHandler = OnDataChanged, }; // zk handle // zkServer addr, session timeout, watcher handle = new ZooKeeper("192.168.0.103:2181,192.168.0.103:2182,192.168.0.103:2183,192.168.0.103:2184,192.168.0.103:2185", new TimeSpan(0, 0, 0, 50000), watcher); try { // create root node // no ACL // Persistent node handle.Create(RoutingRule.ZkRoutingRule.GetServiceRoot(), null, Ids.OPEN_ACL_UNSAFE, CreateMode.Persistent); } catch (KeeperException.NodeExistsException e) { // ignore } watcher.Handle = handle; }