Merge pull request #67 from Maledong/master
[Fix] Fix csharp formations
This commit is contained in:
commit
6cd49f341d
|
|
@ -13,7 +13,6 @@ namespace IP2Region.Test.Benchmark
|
||||||
public DataBlock MemorySearch()
|
public DataBlock MemorySearch()
|
||||||
{
|
{
|
||||||
RandomIP = GetRandomIP();
|
RandomIP = GetRandomIP();
|
||||||
//Console.WriteLine(RandomIP);
|
|
||||||
return _search.MemorySearch(RandomIP);
|
return _search.MemorySearch(RandomIP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ namespace IP2Region.Test.Benchmark
|
||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Welcome To IP2Regin!");
|
Console.WriteLine("Now starting benchmark test, please wait......");
|
||||||
var summary = BenchmarkRunner.Run<DbSearch_Test>();
|
var summary = BenchmarkRunner.Run<DbSearch_Test>();
|
||||||
Console.ReadLine();
|
Console.ReadLine();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,10 @@ namespace IP2Region.Test.xUnit
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task SearchAsync_Test()
|
public async Task SearchAsync_Test()
|
||||||
{
|
{
|
||||||
var memResult = await _search.MemorySearchAsync("183.192.62.65");
|
// We don't need the synchronizeContext, so just set to false
|
||||||
var binarySearchResult = await _search.BinarySearchAsync("183.192.62.65");
|
var memResult = await _search.MemorySearchAsync("183.192.62.65").ConfigureAwait(false);
|
||||||
var bTreeSearchResult = await _search.BtreeSearchAsync("183.192.62.65");
|
var binarySearchResult = await _search.BinarySearchAsync("183.192.62.65").ConfigureAwait(false);
|
||||||
|
var bTreeSearchResult = await _search.BtreeSearchAsync("183.192.62.65").ConfigureAwait(false);
|
||||||
|
|
||||||
Assert.NotNull(memResult.Region);
|
Assert.NotNull(memResult.Region);
|
||||||
Assert.NotNull(binarySearchResult.Region);
|
Assert.NotNull(binarySearchResult.Region);
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,30 @@
|
||||||
# IP2Region C# Client
|
# IP2Region C# Client
|
||||||
|
|
||||||
## How To Use
|
## How To Use
|
||||||
### 1.Install from Nuget. Support .Net Framework 4.5+ And netstandard 2.0(.net core)
|
### 1.Install from Nuget. Support .Net Framework (>=4.5) And netstandard 2.0(.net core)
|
||||||
```powershell
|
```powershell
|
||||||
Install-Package IP2Region
|
Install-Package IP2Region
|
||||||
```
|
```
|
||||||
### 2.Init DbSearcher with Newest DBFile Downloaded into your project.(https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.db)
|
### 2.Init DbSearcher with [the newest DBFile](https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.db) Downloaded into your project, and invoke your search methods as below:
|
||||||
```c#
|
```csharp
|
||||||
DbSearcher _search=new DbSearcher(Environment.CurrentDirectory + @"\DB\ip2region.db");
|
using (var _search = new DbSearcher(Environment.CurrentDirectory + @"\DB\ip2region.db"))
|
||||||
```
|
{
|
||||||
### 3.Invoke Search Method.(MemorySearch,BtreeSearch,BinarySearch)
|
|
||||||
```c#
|
|
||||||
_search.MemorySearch("183.192.62.65").Region;
|
_search.MemorySearch("183.192.62.65").Region;
|
||||||
_search.MemorySearchAsync("183.192.62.65").Result.Region;
|
|
||||||
_search.BinarySearch("183.192.62.65").Region;
|
_search.BinarySearch("183.192.62.65").Region;
|
||||||
_search.BinarySearchAsync("183.192.62.65").Result.Region;
|
|
||||||
_search.BtreeSearch("183.192.62.65").Region;
|
_search.BtreeSearch("183.192.62.65").Region;
|
||||||
_search.BtreeSearchAsync("183.192.62.65").Result.Region;
|
}
|
||||||
|
```
|
||||||
|
For async methods (Methods with the suffix "Async"), just put them with `async` and `await`.
|
||||||
|
If you don't need the `SynchronizedContext`, please use `ConfigureAwait(false)`.
|
||||||
|
For more about this, please read https://msdn.microsoft.com/en-us/magazine/jj991977.aspx.
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
public async Task SearchAsync_Test()
|
||||||
|
{
|
||||||
|
// We don't need the synchronizeContext, so just set to false.
|
||||||
|
// So as for BinarySearchAsync and BtreeSearchAsync
|
||||||
|
var memResult = await _search.MemorySearchAsync("183.192.62.65").ConfigureAwait(false);
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Test Result(From /IP2Region.Test.Benchmark)
|
## Test Result(From /IP2Region.Test.Benchmark)
|
||||||
|
|
@ -28,11 +36,3 @@ BinarySearch | 52.22 us | 0.6403 us | 0.5347 us | 5 |
|
||||||
BinarySearch_Async | 53.03 us | 1.0271 us | 0.9608 us | 6 |
|
BinarySearch_Async | 53.03 us | 1.0271 us | 0.9608 us | 6 |
|
||||||
BtreeSearch | 19.05 us | 0.2464 us | 0.2305 us | 3 |
|
BtreeSearch | 19.05 us | 0.2464 us | 0.2305 us | 3 |
|
||||||
BtreeSearch_Async | 19.40 us | 0.3820 us | 0.6690 us | 4 |
|
BtreeSearch_Async | 19.40 us | 0.3820 us | 0.6690 us | 4 |
|
||||||
|
|
||||||
## Contribute History
|
|
||||||
| Name | Github | Responsibility | Date | Remark |
|
|
||||||
| ------ | ------ | ------ | ------ | ------ |
|
|
||||||
| RocherKong | https://github.com/RocherKong | Creator | 20180209|
|
|
||||||
| Dongwei | https://github.com/Maledong | Contributor | 20180708 | 1.Async 2.NetFxBenchmark 3.Rename of some Methods
|
|
||||||
| RocherKong | https://github.com/RocherKong | Creator | 20180209| 1.CodeStandardized 2.Support Netfx4.5 3.TestStandardized
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue