Click here to Skip to main content
15,437,442 members
Home / Discussions / ASP.NET
   

ASP.NET

 
AnswerRe: Get a Field value for recovery a password Pin
Richard Deeming3-Sep-21 5:34
mveRichard Deeming3-Sep-21 5:34 
GeneralRe: Get a Field value for recovery a password Pin
Luis M. Rojas3-Sep-21 5:55
MemberLuis M. Rojas3-Sep-21 5:55 
GeneralRe: Get a Field value for recovery a password Pin
Richard Deeming3-Sep-21 6:10
mveRichard Deeming3-Sep-21 6:10 
QuestionWebService just will not work :-( Pin
Oliver Freeman1-Sep-21 5:48
MemberOliver Freeman1-Sep-21 5:48 
AnswerRe: WebService just will not work :-( Pin
Richard Deeming1-Sep-21 21:59
mveRichard Deeming1-Sep-21 21:59 
GeneralRe: WebService just will not work :-( Pin
Oliver Freeman2-Sep-21 1:59
MemberOliver Freeman2-Sep-21 1:59 
GeneralRe: WebService just will not work :-( Pin
DerekT-P21-Oct-21 7:37
professionalDerekT-P21-Oct-21 7:37 
QuestionIs it possible to add fore ground and back ground to any app that is down? Pin
samflex31-Aug-21 18:39
Membersamflex31-Aug-21 18:39 
Greetings again,

Sorry that I have to come back for help for this script.

Each time this script runs, it sends email notifications to our Executive team advising them of whether any or all of the apps are either down or up.

The script works very well thanks entirely to the great Richard Deeming.

However, management has asked that I modify the script to add foreground color of red and background color of yellow to any URL of the app that is down along with the text indicating down.

For instance, when app sends out email notifications, it lists the apps and their status as follows:

Please find the status of the DMZ servers below:
https://www.link1: WORKING
https://www.link2.com WORKING
https://www.link3.com DOWN
https://www.link4.com WORKING

They would like any app that is down to display as follows:

Please find the status of the DMZ servers below:
link 1: https://www.link1 WORKING
Link 2 https://www.link2.com WORKING
Link 3 https://www.link3.com DOWN
Link 4 https://www.link4.com WORKING

In this example, Link 3 https://www.link3.com DOWN

They would like the entire row of the URL that is down to be color coded, background color of yellow and text color of red.

Link 1 corresponds to the first URL, Link 2 to second URL, etc.

If it is only possible to just color code just the URL and the DOWN text without the link #, that would be fine too.

I am not sure if this is possible.

I could not figure a way to do this.

Any thought on how I could get this to work?

I recognize the send mail bit has body (IsBodyHtml) set to false but I can change this to true if I can the color thing to work.

Below is the working code.

using System;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Net.NetworkInformation;
using System.Text;
using System.Configuration;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Net.Http;
using System.Linq;

namespace showserverstatus
{
    class Program
    {
        static async Task<int> Main(string[] args)
        {
            System.Collections.Concurrent.ConcurrentDictionary<string, string> urlToStatus = new();

             IEnumerable < Task<bool> > tasks = args.Select(async url =>
            {
                bool result = await ServerStatusByAsync(url);
                return urlToStatus.TryAdd(url, result ? "WORKING" : "DOWN");
            });

            bool[] results = await Task.WhenAll(tasks);

            StringBuilder body = new("Please find the status of the DMZ servers below:");
            foreach (var kvp in urlToStatus)
            {
                body.AppendLine();
                body.AppendFormat("{0}: {1}", kvp.Key, kvp.Value);
            }

            await SendEmailAsync("DMZ Server Status", body.ToString());
            await Task.Delay(3000);

            // Return the number of servers which were down:
            return results.Count(result => !result);
        }
        static async Task<bool> ServerStatusByAsync(string url)
        {
            HttpClient http = new();
            using (HttpResponseMessage response = await http.GetAsync(url))
            {
                Console.WriteLine("GET {0}: {1}", url, response.StatusCode);

                if (response.IsSuccessStatusCode)
                {
                    await SendEmailAsync($"{url} WORKING", $"GET {url} returned {response.StatusCode}");
                    return true;
                }
                await SendEmailAsync($"{url} DOWN", $"GET {url} returned {response.StatusCode}");
                return false;
            }
        }

        static async Task SendEmailAsync(string subject, string body)
        {
            using MailMessage mm = new(ConfigurationManager.AppSettings["FromEmail"], "joeblow@gmail.com");
            mm.To.Add("janeblow@yahoo.com");
            mm.CC.Add("kevin.bruiner@hotmail.com");
            mm.Subject = subject;
            mm.Body = body;
            mm.IsBodyHtml = false;

            SmtpClient smtp = new()
            {
                Host = ConfigurationManager.AppSettings["Host"],
                Port = int.Parse(ConfigurationManager.AppSettings["Port"]),
                EnableSsl = true,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(ConfigurationManager.AppSettings["Username"], ConfigurationManager.AppSettings["Password"]),
            };

            await smtp.SendMailAsync(mm);
        }
    }
} 


As always, many thanks in advance
AnswerRe: Is it possible to add fore ground and back ground to any app that is down? Pin
Richard Deeming31-Aug-21 22:01
mveRichard Deeming31-Aug-21 22:01 
GeneralRe: Is it possible to add fore ground and back ground to any app that is down? Pin
samflex1-Sep-21 5:50
Membersamflex1-Sep-21 5:50 
GeneralRe: Is it possible to add fore ground and back ground to any app that is down? Pin
Richard Deeming1-Sep-21 21:47
mveRichard Deeming1-Sep-21 21:47 
GeneralRe: Is it possible to add fore ground and back ground to any app that is down? Pin
samflex2-Sep-21 3:02
Membersamflex2-Sep-21 3:02 
Questionproject code in .net for online banking transaction Pin
Jk 0724-Aug-21 5:12
MemberJk 0724-Aug-21 5:12 
AnswerRe: project code in .net for online banking transaction Pin
Richard MacCutchan24-Aug-21 5:40
mveRichard MacCutchan24-Aug-21 5:40 
GeneralRe: project code in .net for online banking transaction Pin
Member 1534301831-Aug-21 22:04
MemberMember 1534301831-Aug-21 22:04 
QuestionI am having problem creating a script to monitor Rest/API services. Pin
samflex23-Aug-21 8:11
Membersamflex23-Aug-21 8:11 
AnswerRe: I am having problem creating a script to monitor Rest/API services. Pin
Richard Deeming23-Aug-21 21:15
mveRichard Deeming23-Aug-21 21:15 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
samflex24-Aug-21 5:08
Membersamflex24-Aug-21 5:08 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
David Mujica24-Aug-21 6:04
MemberDavid Mujica24-Aug-21 6:04 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
samflex24-Aug-21 6:09
Membersamflex24-Aug-21 6:09 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
samflex25-Aug-21 4:18
Membersamflex25-Aug-21 4:18 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
David Mujica25-Aug-21 5:24
MemberDavid Mujica25-Aug-21 5:24 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
samflex25-Aug-21 6:09
Membersamflex25-Aug-21 6:09 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
Richard Deeming25-Aug-21 6:18
mveRichard Deeming25-Aug-21 6:18 
GeneralRe: I am having problem creating a script to monitor Rest/API services. Pin
samflex25-Aug-21 8:23
Membersamflex25-Aug-21 8:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.