forked from fajiao/OnvifServer-CSharp
fajiao
3 years ago
8 changed files with 129 additions and 13 deletions
@ -0,0 +1,12 @@ |
|||||
|
<Project Sdk="Microsoft.NET.Sdk"> |
||||
|
|
||||
|
<PropertyGroup> |
||||
|
<TargetFramework>net5.0</TargetFramework> |
||||
|
</PropertyGroup> |
||||
|
|
||||
|
<ItemGroup> |
||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" /> |
||||
|
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" /> |
||||
|
</ItemGroup> |
||||
|
|
||||
|
</Project> |
@ -0,0 +1,16 @@ |
|||||
|
using Microsoft.Extensions.Configuration; |
||||
|
using System.IO; |
||||
|
|
||||
|
namespace EC.Helper.FileExt |
||||
|
{ |
||||
|
public class JsonHelper |
||||
|
{ |
||||
|
public static IConfiguration ReadConfiguration(string configPath) |
||||
|
{ |
||||
|
ConfigurationBuilder builder = new(); |
||||
|
if (!File.Exists(configPath)) { return builder.Build(); } |
||||
|
builder.AddJsonFile(configPath); |
||||
|
return builder.Build(); |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
using EC.Helper.FileExt; |
||||
|
using Microsoft.Extensions.Configuration; |
||||
|
using System.IO; |
||||
|
|
||||
|
namespace OnvifSocketServer |
||||
|
{ |
||||
|
public class AppConfig |
||||
|
{ |
||||
|
#region Attr
|
||||
|
|
||||
|
private static IConfiguration config; |
||||
|
|
||||
|
private static IConfiguration Config |
||||
|
{ |
||||
|
get |
||||
|
{ |
||||
|
if (config == null) |
||||
|
{ |
||||
|
string configPath = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json"); |
||||
|
config = JsonHelper.ReadConfiguration(configPath); |
||||
|
} |
||||
|
return config; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public static T Get<T>(string key) |
||||
|
{ |
||||
|
return Config.GetValue<T>(key); |
||||
|
} |
||||
|
|
||||
|
#endregion Attr
|
||||
|
|
||||
|
#region Apis
|
||||
|
|
||||
|
public static string GetApi(string key) |
||||
|
{ |
||||
|
return Get<string>($"Apis:{key}"); |
||||
|
} |
||||
|
|
||||
|
public static string GetOnvifHttpUrl() |
||||
|
{ |
||||
|
return GetApi("onvif_http_url"); |
||||
|
} |
||||
|
|
||||
|
public static string GetOnvifHttpsUrl() |
||||
|
{ |
||||
|
return GetApi("onvif_https_url"); |
||||
|
} |
||||
|
|
||||
|
#endregion Apis
|
||||
|
} |
||||
|
} |
@ -1,12 +1,25 @@ |
|||||
using System; |
using Flurl; |
||||
|
using Flurl.Http; |
||||
|
using Newtonsoft.Json.Linq; |
||||
|
using System; |
||||
|
|
||||
namespace OnvifSocketServer |
namespace OnvifSocketServer |
||||
{ |
{ |
||||
internal class Program |
public class Program |
||||
{ |
{ |
||||
static void Main(string[] args) |
public static void Main(string[] args) |
||||
{ |
{ |
||||
Console.WriteLine("Hello World!"); |
Console.WriteLine("Hello World!"); |
||||
|
|
||||
|
string onvifHttpUrl = AppConfig.GetOnvifHttpUrl(); |
||||
|
string onvifHttpsUrl = AppConfig.GetOnvifHttpsUrl(); |
||||
|
Console.WriteLine(onvifHttpUrl, onvifHttpsUrl); |
||||
|
var baseUri = new Uri(onvifHttpUrl); |
||||
|
var absoluteUri = new Uri(baseUri, "onvif/Curd/IsExist"); |
||||
|
JObject result = absoluteUri.AbsoluteUri |
||||
|
.SetQueryParams(new { ip = "192.168.1.105" }) |
||||
|
.GetJsonAsync<JObject>().Result; |
||||
|
Console.WriteLine(result); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
@ -0,0 +1,6 @@ |
|||||
|
{ |
||||
|
"Apis": { |
||||
|
"onvif_http_url": "http://localhost:5000", |
||||
|
"onvif_https_url": "https://localhost:5001" |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue