Skip to content

Commit 2181bfb

Browse files
committed
Upgrade to .NET 8 and .NET Framework 4.8.1
1 parent 549394a commit 2181bfb

265 files changed

Lines changed: 232756 additions & 17727 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
obj
33
bin
44
*.suo
5-
packages
5+
packages
6+
/.vs/
7+
*.dtbcache.json

.vs/ServMon/config/applicationhost.config

Lines changed: 1040 additions & 0 deletions
Large diffs are not rendered by default.

.vs/ServMon/project-colors.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"Version": 1,
3+
"ProjectMap": {
4+
"582e5196-ab7a-4e08-b96e-b589be2b4401": {
5+
"ProjectGuid": "582e5196-ab7a-4e08-b96e-b589be2b4401",
6+
"DisplayName": "ServMonWeb",
7+
"ColorIndex": 0
8+
},
9+
"2b689ac8-a03c-496f-ba63-c83a015a07b5": {
10+
"ProjectGuid": "2b689ac8-a03c-496f-ba63-c83a015a07b5",
11+
"DisplayName": "ServMon",
12+
"ColorIndex": 1
13+
},
14+
"4de80654-dfc8-4a09-9e6e-281f6b46a505": {
15+
"ProjectGuid": "4de80654-dfc8-4a09-9e6e-281f6b46a505",
16+
"DisplayName": "ServMonWebV2",
17+
"ColorIndex": 2
18+
},
19+
"a2fe74e1-b743-11d0-ae1a-00a0c90fffc3": {
20+
"ProjectGuid": "a2fe74e1-b743-11d0-ae1a-00a0c90fffc3",
21+
"DisplayName": "Miscellaneous Files",
22+
"ColorIndex": -1
23+
},
24+
"9fa6220a-61fa-4373-a4ed-381c99f72b90": {
25+
"ProjectGuid": "9fa6220a-61fa-4373-a4ed-381c99f72b90",
26+
"DisplayName": "ServMonV3",
27+
"ColorIndex": 3
28+
},
29+
"881ca925-bda8-4e67-b05b-e21b79aad40c": {
30+
"ProjectGuid": "881ca925-bda8-4e67-b05b-e21b79aad40c",
31+
"DisplayName": "ServMonWebV3",
32+
"ColorIndex": 4
33+
},
34+
"c35fbced-1c6a-41b8-9e54-bd41b6f3de50": {
35+
"ProjectGuid": "c35fbced-1c6a-41b8-9e54-bd41b6f3de50",
36+
"DisplayName": "ServMonWeb.Tests",
37+
"ColorIndex": 5
38+
},
39+
"da1fd07b-abb9-457c-8692-7bbcc49d946e": {
40+
"ProjectGuid": "da1fd07b-abb9-457c-8692-7bbcc49d946e",
41+
"DisplayName": "ServMonWebV4",
42+
"ColorIndex": 6
43+
}
44+
},
45+
"NextColorIndex": 7
46+
}

Console/ServMon/App.config

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<startup>
4-
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1" />
55
</startup>
66
<!--<appSettings>
77
<add key="LogPath" value="" />
88
</appSettings>-->
9+
<runtime>
10+
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
11+
<dependentAssembly>
12+
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
13+
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
14+
</dependentAssembly>
15+
</assemblyBinding>
16+
</runtime>
917
</configuration>

Console/ServMon/Constants.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ enum ServTypes
1010
{
1111
HTTP = 1,
1212
FTP = 2,
13-
SMTP = 3
13+
SMTP = 3,
14+
HTTPS = 4
1415
}
1516
}

Console/ServMon/HttpService.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ public override ServResponse Execute()
1414
{
1515
PreExecute();
1616

17+
// Ignore invalid SSL certificates
18+
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
19+
1720
var callSuccess = false;
1821
var text = string.Empty;
1922
var response = new ServResponse();

Console/ServMon/Program.cs

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -45,71 +45,74 @@ static void Main(string[] args)
4545
var items = ServManager.Instance.Items;
4646
foreach (var item in items)
4747
{
48-
var workerThread = new Thread(() =>
48+
if (item.Value.Enabled)
4949
{
50-
bool smsSent = false; // SMS won't be sent successively, will always skip one instance for consecutive failures.
51-
while (true)
50+
var workerThread = new Thread(() =>
5251
{
53-
var serv = item.Value;
54-
//Console.WriteLine();
55-
Console.WriteLine("{0}: Started", serv.Name);
56-
57-
var success = serv.Success;
58-
var response = serv.Execute();
59-
if (!response.Success)
52+
bool smsSent = false; // SMS won't be sent successively, will always skip one instance for consecutive failures.
53+
while (true)
6054
{
61-
if (!string.IsNullOrEmpty(response.Message))
62-
Console.WriteLine("{0}: FAILED. {1}", serv.Name, response.Message);
63-
else
64-
Console.WriteLine("{0}: FAILED.", serv.Name);
65-
var mail = new MailSender();
66-
mail.Subject = string.Format("MCGI ServMon: {0} - Check FAILED", serv.Name);
67-
mail.Message = string.Format("Service: {0}<br/>Time: {1}<br/>Error: {2}<br/><br/>Trace: {3}", serv.Name, serv.LastUpdate, response.Message, response.StackTrace);
68-
mail.To = (ServManager.Instance.MailSettings.To + "," + serv.ToEmails).Trim().TrimEnd(',');
69-
mail.Send();
70-
Console.WriteLine("{0}: Email sent to {1}", serv.Name, mail.To);
71-
72-
var smsTo = (ServManager.Instance.SmsSettings.To + "," + serv.ToNumbers).Trim().TrimEnd(',');
73-
if (ServManager.Instance.SmsSettings.Enabled && serv.EnableSms && !string.IsNullOrEmpty(smsTo))
74-
{
75-
if (!smsSent)
76-
{
77-
var sms = new SmsSender();
78-
sms.To = smsTo;
79-
sms.Message = string.Format("{0} - FAILED, pls chk. %0AError: {1}", serv.Name, response.Message);
80-
sms.Send();
55+
var serv = item.Value;
56+
//Console.WriteLine();
57+
Console.WriteLine("{0}: Started", serv.Name);
8158

82-
Console.WriteLine("{0}: SMS sent to {1}", serv.Name, smsTo);
83-
smsSent = true;
84-
}
59+
var success = serv.Success;
60+
var response = serv.Execute();
61+
if (!response.Success)
62+
{
63+
if (!string.IsNullOrEmpty(response.Message))
64+
Console.WriteLine("{0}: FAILED. {1}", serv.Name, response.Message);
8565
else
66+
Console.WriteLine("{0}: FAILED.", serv.Name);
67+
var mail = new MailSender();
68+
mail.Subject = string.Format("ServMon: {0} - Check FAILED", serv.Name);
69+
mail.Message = string.Format("Service: {0}<br/>Time: {1}<br/>Error: {2}<br/><br/>Trace: {3}", serv.Name, serv.LastUpdate, response.Message, response.StackTrace);
70+
mail.To = (ServManager.Instance.MailSettings.To + "," + serv.ToEmails).Trim().TrimEnd(',');
71+
mail.Send();
72+
Console.WriteLine("{0}: Email sent to {1}", serv.Name, mail.To);
73+
74+
var smsTo = (ServManager.Instance.SmsSettings.To + "," + serv.ToNumbers).Trim().TrimEnd(',');
75+
if (ServManager.Instance.SmsSettings.Enabled && serv.EnableSms && !string.IsNullOrEmpty(smsTo))
8676
{
87-
smsSent = false;
77+
if (!smsSent)
78+
{
79+
var sms = new SmsSender();
80+
sms.To = smsTo;
81+
sms.Message = string.Format("{0} - FAILED, pls chk. %0AError: {1}", serv.Name, response.Message);
82+
sms.Send();
83+
84+
Console.WriteLine("{0}: SMS sent to {1}", serv.Name, smsTo);
85+
smsSent = true;
86+
}
87+
else
88+
{
89+
smsSent = false;
90+
}
8891
}
8992
}
90-
}
91-
else
92-
{
93-
Console.WriteLine("{0}: Success!", serv.Name);
94-
smsSent = false;
95-
}
93+
else
94+
{
95+
Console.WriteLine("{0}: Success!", serv.Name);
96+
smsSent = false;
97+
}
9698

97-
if (success != response.Success)
98-
{
99-
// Change in status, write state to json file
100-
writeState = true;
101-
}
99+
if (success != response.Success)
100+
{
101+
// Change in status, write state to json file
102+
writeState = true;
103+
}
102104

103-
//Console.WriteLine("{0}: Sleeping...", serv.Name);
104-
Sleep(serv.Interval);
105-
}
106-
});
105+
//Console.WriteLine("{0}: Sleeping...", serv.Name);
106+
Sleep(serv.Interval);
107+
}
108+
});
107109

108-
workerThreads.Add(workerThread);
110+
workerThreads.Add(workerThread);
109111

110-
workerThread.IsBackground = false; // Always dependent to job threads // !forceExecute;
111-
workerThread.SetApartmentState(ApartmentState.STA);
112-
workerThread.Start();
112+
workerThread.IsBackground = false; // Always dependent to job threads // !forceExecute;
113+
workerThread.SetApartmentState(ApartmentState.STA);
114+
workerThread.Start();
115+
}
113116
}
114117

115118
var jsonCheck = 0;
@@ -128,6 +131,7 @@ from i in items.Values
128131
new JProperty("name", i.Name),
129132
new JProperty("lastUpdate", i.LastUpdate),
130133
new JProperty("success", i.Success),
134+
new JProperty("enabled", i.Enabled),
131135
new JProperty("type", i.Type),
132136
new JProperty("url", i.Url),
133137
new JProperty("message", i.Message)

Console/ServMon/ServManager.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@ public void ReadConfig()
2929
var settingsNode = xdoc.SelectSingleNode("//Services/Settings");
3030

3131
Items = new Dictionary<string, IServiceType>();
32-
Interval = DataHelper.GetInt32(XmlUtil.GetValue(settingsNode, "Interval"), 60 * 60);
32+
Interval = DataUtil.GetInt32(XmlUtil.GetValue(settingsNode, "Interval"), 60 * 60);
3333

3434
var mailNode = settingsNode.SelectSingleNode("Mail");
35-
MailSettings.EnableSsl = DataHelper.GetBool(XmlUtil.GetValue(mailNode, "EnableSsl"), true);
36-
MailSettings.Port = DataHelper.GetInt32(XmlUtil.GetValue(mailNode, "Port"), 587);
37-
MailSettings.IsBodyHtml = DataHelper.GetBool(XmlUtil.GetValue(mailNode, "IsBodyHtml"), true);
35+
MailSettings.EnableSsl = DataUtil.GetBool(XmlUtil.GetValue(mailNode, "EnableSsl"), true);
36+
MailSettings.Port = DataUtil.GetInt32(XmlUtil.GetValue(mailNode, "Port"), 587);
37+
MailSettings.IsBodyHtml = DataUtil.GetBool(XmlUtil.GetValue(mailNode, "IsBodyHtml"), true);
3838
MailSettings.Host = XmlUtil.GetValue(mailNode, "Host");
3939
MailSettings.From = XmlUtil.GetValue(mailNode, "From");
4040
MailSettings.To = XmlUtil.GetValue(mailNode, "To");
4141
MailSettings.Password = XmlUtil.GetValue(mailNode, "Password");
4242

4343
var smsNode = settingsNode.SelectSingleNode("Sms");
44-
SmsSettings.Enabled = DataHelper.GetBool(XmlUtil.GetValue(smsNode, "Enabled"), false);
44+
SmsSettings.Enabled = DataUtil.GetBool(XmlUtil.GetValue(smsNode, "Enabled"), false);
4545
SmsSettings.Url = XmlUtil.GetValue(smsNode, "Url");
4646
SmsSettings.To = XmlUtil.GetValue(smsNode, "To");
4747
SmsSettings.FromName = XmlUtil.GetValue(smsNode, "FromName");
@@ -55,6 +55,7 @@ public void ReadConfig()
5555
switch (type)
5656
{
5757
case ServTypes.HTTP:
58+
case ServTypes.HTTPS:
5859
service = new HttpService();
5960
break;
6061

@@ -67,14 +68,14 @@ public void ReadConfig()
6768
{
6869
service.Name = XmlUtil.GetValue(node, "Name");
6970
service.Url = XmlUtil.GetValue(node, "Url");
70-
service.Enabled = DataHelper.GetBool(XmlUtil.GetValue(node, "Enabled"), true);
71+
service.Enabled = DataUtil.GetBool(XmlUtil.GetValue(node, "Enabled"), true);
7172
service.Content = XmlUtil.GetValue(node, "Content");
7273
service.Username = XmlUtil.GetValue(node, "Username");
7374
service.Password = XmlUtil.GetValue(node, "Password");
74-
service.Interval = DataHelper.GetInt32(XmlUtil.GetValue(node, "Interval"), 0);
75+
service.Interval = DataUtil.GetInt32(XmlUtil.GetValue(node, "Interval"), 0);
7576
service.ToEmails = XmlUtil.GetValue(node, "ToEmails");
7677
service.ToNumbers = XmlUtil.GetValue(node, "ToNumbers");
77-
service.EnableSms = DataHelper.GetBool(XmlUtil.GetValue(node, "EnableSms"), true);
78+
service.EnableSms = DataUtil.GetBool(XmlUtil.GetValue(node, "EnableSms"), true);
7879
Items.Add(service.Name, service);
7980
}
8081
}

Console/ServMon/ServMon.csproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<AppDesignerFolder>Properties</AppDesignerFolder>
1010
<RootNamespace>ServMon</RootNamespace>
1111
<AssemblyName>ServMon</AssemblyName>
12-
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
12+
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
1313
<FileAlignment>512</FileAlignment>
1414
<TargetFrameworkProfile />
1515
</PropertyGroup>
@@ -22,6 +22,7 @@
2222
<DefineConstants>DEBUG;TRACE</DefineConstants>
2323
<ErrorReport>prompt</ErrorReport>
2424
<WarningLevel>4</WarningLevel>
25+
<Prefer32Bit>false</Prefer32Bit>
2526
</PropertyGroup>
2627
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
2728
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -33,9 +34,8 @@
3334
<WarningLevel>4</WarningLevel>
3435
</PropertyGroup>
3536
<ItemGroup>
36-
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
37-
<SpecificVersion>False</SpecificVersion>
38-
<HintPath>..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
37+
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
38+
<HintPath>..\..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
3939
</Reference>
4040
<Reference Include="System" />
4141
<Reference Include="System.Core" />
@@ -68,6 +68,7 @@
6868
<ItemGroup>
6969
<None Include="App.config" />
7070
<None Include="packages.config" />
71+
<None Include="services.json" />
7172
</ItemGroup>
7273
<ItemGroup>
7374
<Content Include="config.xml">

Console/ServMon/config.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<Name>Some Email Web</Name>
2525
<Url>http://mail.someorg.sg</Url>
2626
<Type>HTTP</Type>
27-
<Enabled>1</Enabled>
27+
<Enabled>0</Enabled>
2828
<Content>Password</Content>
2929
<ToEmails>someemail@gmail.com,someemail@someorg.sg</ToEmails>
3030
<ToNumbers></ToNumbers>
@@ -35,28 +35,28 @@
3535
<Name>Web Portal</Name>
3636
<Url>http://someorg.org</Url>
3737
<Type>HTTP</Type>
38-
<Enabled>1</Enabled>
38+
<Enabled>0</Enabled>
3939
<Content>Sign In</Content>
4040
</Service>
4141
<Service>
4242
<Name>Some Web System</Name>
4343
<Url>http://somewebsystem.org</Url>
4444
<Type>HTTP</Type>
45-
<Enabled>1</Enabled>
45+
<Enabled>0</Enabled>
4646
<Content>Password</Content>
4747
</Service>
4848
<Service>
4949
<Name>HTTP FTP Web</Name>
5050
<Url>http://something.org</Url>
5151
<Type>HTTP</Type>
52-
<Enabled>1</Enabled>
52+
<Enabled>0</Enabled>
5353
<Content>Description</Content>
5454
</Service>
5555
<Service>
5656
<Name>Some Ftp</Name>
5757
<Url>ftp://ftp.someorg.org/pub/SOMETHING/FILES</Url>
5858
<Type>FTP</Type>
59-
<Enabled>1</Enabled>
59+
<Enabled>0</Enabled>
6060
<Content>Some_Content</Content>
6161
<Username>username1</Username>
6262
<Password>password01</Password>

0 commit comments

Comments
 (0)