Service.cs
2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Activation;
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Reflection;
using paddleOCR;
namespace DeviceLibrary
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
internal class WebService : IService
{
public Result Readocr(string ver, string imgPath)
{
Result result = new Result();
DateTime dateTime = DateTime.Now;
result.data = PaddleHelper.StartCPlusOcr(imgPath);
//if (string.IsNullOrEmpty(ver))
//{
// result.data = PaddleOCRHelper.StartCPlusOcr(imgPath);
//}
//else
//if (ver.ToLower().Equals("python"))
//{
// result.data = PaddleOCRHelper.StartPythonOcr(imgPath);
//}
//else if(ver.ToLower().Equals("cplus"))
//{
// result.data = PaddleOCRHelper.StartCPlusOcr(imgPath);
//}
//else
//{
// result.data = PaddleOCRHelper.StartCPlusOcr(imgPath);
//}
result.ver = ver;
result.msg = $"Paddle Ocr elapsed:{(DateTime.Now-dateTime).TotalSeconds.ToString("f2")}s";
return result;
}
}
public class Service
{
private WebServiceHost _serviceHost;
public bool State = false;
public void Open(string url)
{
try
{
WebService service = new WebService();
_serviceHost = new WebServiceHost(service, new Uri(url));//service, new Uri(url)
_serviceHost.Open();
State = true;
}
catch (Exception ex)
{
State = false;
}
}
public void Close()
{
try
{
if (_serviceHost != null)//判断服务是否关闭
_serviceHost.Close();//关闭服务
State = false;
}
catch (Exception ex)
{
}
}
}
}