Modify multiple Register methods and configuration files and integrate partial methods, test cases and add separate classes encapsulated by ETCD and ZooKeeper (#38)

* feat:fix path like "path01\\path02"  special in system

* fix:
1.nacos ServerAddresses if is cluster should split ServerList with ,
2.rewrite partion ShenyuNacosRegister.cs method PersistURI and PersistInterface accoding with shenyu nacos client code

* feat:
1.add ShenyuConsulRegister.cs init params check
2.edit ShenyuConsulRegister.cs method PersistInterface
3.edit ShenyuConsulRegister.cs method PersistURI

* feat:
1.edit ShenyuZookeeperRegister.cs rewrite init zkClient and PersistURI and  PersistInterface
2.zadd ZookeeperUtils

* feat:
1.add ZookeeperClientTest  and add apache comment with file
2.add etcdRegister and etcdClientTest

* feat:
1. add xx_config.json sample in different RegisterConfigAsync
2. Adds fixed strings for fixed configuration file field for cousul props
3. remove some comment

* feat:
1.Path.Combine if secondParms has / will alway return secondParms,so to trim /
2.ectdUtils rent expire change method
3.nacos init add accessKey and secretKey

* feat:
1.remove ZookeeperClient same class and unused method
2.add search shengyuAttribute class list

* feat:
1.Nacos filed namespace
2.zookeeper modify reconnect timeout

* feat:
1.remove zookeeper same params

* feat:
1.add ectd docs/etcd_registration.md

* feat:
1.zkClient create timeout logical

* feat:
1.nacosRegister use ConcurrentQueue replace HashSet
2.registerPath add remove perfix and suffix string to prevent user

* feat:
1.zookeeper_register createMode

* feat:
1.edit zookeeper use digest and edit zookeeper Ephemerals node could not create persient child node

* feat:
1.zk status change create node

* feat:
1.consul config add token

* feat:
1.edit docs

* feat:
1. add apache license header

* feat:
1.comment out .because now is not have server like zookeeper,etcd started or mock
35 files changed
tree: 659d47250accebcc6661dbced33209d1eb527873
  1. .github/
  2. build/
  3. client/
  4. docs/
  5. examples/
  6. .asf.yaml
  7. .editorconfig
  8. .gitignore
  9. .licenserc.yaml
  10. DISCLAIMER
  11. global.json
  12. LICENSE
  13. NOTICE
  14. README.md
  15. ShenyuClient.sln
README.md

ShenYu .NET client

build codecov.io

ShenYu .NET client can help you register your ASP.NET Core applications into ShenYu, similar with Java client. It supports below registration type,

  • http registration
  • zookeeper registration
  • nacos registration
  • consul registration
  • etcd registration

Getting Started

Please visit related document to start to start.

For http registration, please visit HTTP Registration.

For zookeeper registration, please visit Zookeeper Registration.

For consul registration, please visit Consul Registration.

For nacos registration, please visit Nacos Registration.

For etcd registration, please visit Etcd Registration.

Attributes

You can use ShenyuClient attribute to register your APIs.

e.g. add ShenyuClient attribute in class as route prefix.

[ShenyuClient("/test/**")]
public class TestController {
  ...
}

e.g. add ShenyuClient attribute in method as route path. The final route path will be /test/hello for this endpoint.

[ShenyuClient("/test")]
public class TestController {
    [ShenyuClient("hello")]
    public IEnumerable<WeatherForecast> GetTest()
    {
        ...
    }
    ...
}