首个任务<>一点感受

初入职场,这两个星期来,在Boss的指点下,前前后后修改了多次,终于将这个ServerCheck的小工具挂在服务器上检测了.他要求做出一个ServerCheck,检查指定的服务器能否正常访问下载,每隔一段时间就循环地检查一次,一旦不能访问,便通过Email通知Mail List中的各个邮箱,如果恢复正常便再发送"正确报告".整个业务逻辑并不复杂,但对于我这个初出茅庐的人来说,着实煎熬了一把.熬完了,总会留下点什么的.
1.命名规范再次强调,这个没得说,必须的!
2.编程的思维需要转变,不能按照计算机过程式的方式,需求什么就去做什么;面向对象不能只是表面上说说的,需要运用起来
3.要花大部分的时间去thinking,当脑海里勾勒出处理的蓝本时,真正做起来很easy.好多时候我们思考的出发点就不正确或是不实际(Boss说"新手常犯的,考虑欠佳"),结果时间浪费在"补牢"上,却得不到一个预期的效果,更有甚者会南辕北辙.
4.技术上欠缺是个软肋,"冰冻三尺非一日之寒",不断地敲,不断地啃,是一个过程
随笔附上这个工具的部分源码,留个记录:

2011032315303353.png

 向指定的服务器进行轮询访问:

try
{
//对网络访问设置一个超时器
exitFlag = false;
timeOut.Elapsed
+= new ElapsedEventHandler(TimeOut_Tick);
timeOut.Interval
= 5000;
timeOut.Enabled
= true;
timeOut.Start();

//创建一个HttpWebRequest对象,不需要实例化,用HttpWebRequest.Create来创建
HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(dirPath);

//根据创建的HttpWebRequest来创建HttpWebResponse对象
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();

//取得返回的Stream
Stream stream = webResponse.GetResponseStream();

//把Stream转换为StreamReader
StreamReader streamReader = new System.IO.StreamReader(stream);

string str1 = null;
int count = 0;
int length = "Palmap Server Availability Test".Length;
while ((exitFlag == false) && (count < length)) //如果时间到或字符流读完返回false
{
//StreamReader转换为字符串
if (streamReader.Peek() >= 0)
{
char chrRead = (char)streamReader.Read();
str1
+= chrRead.ToString();
count
++;
}
Application.DoEvents();
}

timeOut.Stop();
streamReader.Close();
stream.Close();

webResponse.Close();
webRequest.Abort();

//查看一下返回结果
if (str1 == "Palmap Server Availability Test")
{
return true;
}
return false;
}
catch
{
timeOut.Stop();
return false;
}

 发送邮件的部分使用到了System.Net.Mail类库,由于要求不是很高,就没有考虑其性能了.还望园中高手前辈们予以指点迷津!

/// <summary>
/// 发送邮件
/// </summary>
/// <param name="title">邮件标题</param>
/// <param name="content">邮件正文内容</param>
/// <returns></returns>
public void SendMail(string title, string content)
{
SmtpClient client
= new SmtpClient();
client.DeliveryMethod
= SmtpDeliveryMethod.Network;//指定电子邮件发送方式
client.Host = strHost;//指定SMTP服务器
client.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);
client.EnableSsl
= true;

for (int i = 0; i < mailList.Length; i++)
{
MailMessage msg
= new MailMessage(strFrom, mailList[i]);
msg.Subject
= title;
msg.Body
= content;
msg.BodyEncoding
= System.Text.Encoding.UTF8;//正文编码
msg.IsBodyHtml = false;
msg.Priority
= MailPriority.High;
client.Send(msg);
msg.Dispose();
}
}

转载于:https://www.cnblogs.com/facing/archive/2011/03/23/1992625.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值