Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

Alerts

Has any one worked on alerts ?

I need to develop a system to create alerts on client machines, based on some trigger conditions at the server ?

What is the best approach to take ? Does .Net provide any inbuilt facility to send such alerts ?

Eldo
Friday, November 21, 2003

Windows NT/2000/XP have the Messenger service for this very reason -- no *not* MSN/Windows Messenger. You can send messages to people, machines, network workgroups/domains using the command-line "net send" or the Win32 API NetMessageBufferSend(). For example In Windows NT by default print servers would do a "net send" when your print job had spooled.

Unfortunately, for those people who do not live behind a firewall of some sort, it's also a source of spam -- spammers can do a net send to a machine's IP address. In a corporate environment it would be less of an issue as the network should be behind a firewall.

You may want to consider alerting via email instead. You might want people to act immediately to your alert... but with an email client you have the choice of using the email client's flagging/reminder functionality to do defer actioning an alert until a time more convenient to them. You also have a sort of audit-trail with email, with an alerter of some sort people could dispute whether they actually received an alert.

Duncan Smart
Saturday, November 22, 2003

BTW, to send email look into System.Web.Mail, for "net send" you'll need to P-Invoke the aforementioned Win32 API NetMessageBufferSend: see http://www.google.com/search?q=DllImport+NetMessageBufferSend

Duncan Smart
Saturday, November 22, 2003

If its a database application the best way to do it is with database based logic for the alerts.

I've seen alert systems in MS SQL Server, PostgreSQL and Oracle. So if that is an option, use the database.

Patrik
Tuesday, December 02, 2003

Eldo,

There are many options at your disposal.  Let's start first.  What scale are we talking about here.  How many apps are you maintaining, how many developers are maintaining your app, how many servers does your app run on, how many clients might there be to send alerts to?

The answer to your question is there are dozens of ways to send alerts in .Net.  Which you choose depends on your scale.  From simply sending email, to using something as sophisticated and powerful as Microsoft Operations Manager, or beyond.

Rick Watson
Saturday, December 06, 2003

*  Recent Topics

*  Fog Creek Home