构建ASP.NET网站十大必备工具(2)
正常运行时间
当一个网站发布以后,你肯定希望你的网站不会遇到任何问题,一直处在正常运行状态之中。现在,我使用下面这些工具来监控“Superexpert.com”网站,确保它一直处在正常运行状态之中。
4,ELMAH
ELMAH 是 Error Logging Modules and Handlers for ASP.NET 的缩写。ELMAH可以让你记录下你的网站发生的任何一个错误,在将来,你可以重新检查这些错误。你可以从ELMAH项目的官方网站免费下载ELMAH:http://code.google.com/p/elmah/。
ELMAH既支持ASP.NET Web Forms 又支持 ASP.NET MVC。你可以对ELMAH进行配置来存储各种不同的错误(XML文件,事件日志,Access数据库,SQL数据库,Oracle数据库,或者计算机 RAM。)你还可以让ELMAH在错误发生的时候,把错误信息email给你。
在默认情况下,在一个已经安装ELMAH的网站中,你可以通过请求的elmah.axd页面的方式来访问ELMAH。这是“Superexpert.com”网站的elmah页面的外观(这个页面是密码保护的,因为在一个错误信息中,可能会泄露出一些应该保密的信息。)
如果你点击某个错误信息,你可以看到原始的ASP.NET的黄屏错误信息(虽然这个错误信息永远不会显示给真正的用户)。
我使用全新的ASP.NET软件包管理器 NuGet(过去叫做NuPack)来安装ELMAH。关于NuGet,你可以参考Scott Guthrie的博客:http://weblogs.asp.net/scottgu/archive/2010/10/06/announcing-nupack-asp-net-mvc-3-beta-and-webmatrix-beta-2.aspx。你可以从CodePlex下载 NuGet:http://nuget.codeplex.com/。
5,Pingdom
我使用Pingdom来验证Superexpert.com网站是否总是处在正常运行状态之中。你可以通过浏览“Pingdom.com”的方式来注册Pingdom。你可以使用Pingdom来免费监控一个网站。
在Pingdom网站上,你可以配置ping你的网站的频率。我每5分钟验证一次Superexpert.com 网站是否总是处在正常运行状态之中。我使用Pingdom服务来验证它是否可以从那个网站的主页上检索到字符串“Contact Us”。
如果你的网站宕机了,你可以对Pingdom进行配置,让它通过email, Twitter, SMS, 或 iPhone来发送一个警报。我使用这个Pingdom的iPhone应用程序:
6,Host Tracker
如果你的网站宕机了,你需要一些方式来判断这是本地网络的问题,还是对每个人来说,你的网站都宕机了。我使用一个叫做“Host-Tracker.com”的网站来检查一个网站宕机的程度。
这是“Superexpert.com”网站从世界各地都可以ping通的时候,Host-Tracker显示的结果:
注意:Host-Tracker从68个地点(其中包括:Roubaix, France and Scranton, PA等)来ping “Superexpert.com”网站。
调试
我这里提到的“调试”的意义十分广泛。当构建一个网站的时候,我使用下面这些工具来验证我并没有犯错误。
7,HTML Spell Checker
为什么Visual Studio没有内置一个拼写检查器?不知道——我觉得这有点不可思议。但是,幸运的是,ASP.NET团队的前成员编写了一个免费的拼写检查器,你可以在ASP.NET页面上使用这个拼写检查器。
我发现一个拼写检查器是必不可少的。认为你自己的拼写能力绝对是完美的,只是自欺欺人而已。当我真正地运行拼写检查工具,发现我的所有拼写错误的时候,我恨不得找个地缝钻进去。
把HTML Spell Checker扩展添加到Visual Studio中的最快方法是在Visual Studio中选择“Tools”菜单项,然后点击“Extension Manager”。点击“Online Gallery”,然后索搜“HTML Spell Checker”:
8,IIS SEO Toolkit
如果人们无法通过Google找到你的网站,那么还不如不构建这个网站。微软提供了一个优秀的IIS扩展,叫做“IIS Search Engine Optimization Toolkit ”(关于IIS Search Engine Optimization Toolkit 具体可以参考:http://www.iis.net/download/seotoolkit),你可以使用它来检测出可能会影响页面排名的问题。你也可以使用它快速地为你的网站创建一个sitemap,你可以把这个sitemap提交给Google或Bing。你甚至可以为一个ASP.NET MVC网站生成一个sitemap。
这是“Superexpert.com”网站的分析报告的概述:
注意:“Sueprexpert.com”网站存在很多的问题。例如,有65个页面的超链接已经失效了。你可以进一步查看这些问题的详细信息,找出这些问题发生的地点和具体的页面。
9,LinqPad
如果你的ASP.NET网站需要访问一个数据库,那么你应该使用LINQ to Entities这个实体框架。使用LINQ,会把一些用C#编写的神奇的查询转换成SQL查询。如果你在编写LINQ查询的时候不小心谨慎一些的话,你 很可能会在无意之间构建出一个性能十分糟糕的网站。
LinqPad(LinqPad的官方站点:http://www.linqpad.net/)是一个免费的工具,它可以让你实验你的LINQ查询。它甚至支持Microsoft SQL CE 4 和 Azure。
你可以使用LinqPad来执行一个LINQ to Entities查询,然后看看结果。你也可以使用它来查看对那个数据库执行的SQL语句:
10,.NET Reflector
我每天都使用.NET Reflector。.NET Reflector这个工具可以让你把一个程序集反汇编成C#或VB.NET代码。当你没有真正的源代码的时候,你可以使用.NET Reflector来查看一个程序集的“源代码”。你可以从Redgate的网站下载.NET Reflector的免费版本:http://www.red-gate.com/products/reflector/。
我主要使用.NET Reflector来帮助我搞清楚代码在内部是如何工作的。例如,为了更好的理解MVC Image helper是如何工作的,我使用.NET Reflector对the Sprite and Image Optimization Framework进行了反汇编。这是Image helper类的一部分反汇编代码:
11、C#.NET通用权限管理系统组件
总结
在这篇博客中,我们讨论了我构建“Superexpert.com”网站的时候使用的几个工具。我使用这些工具来提高 “Superexpert.com”网站的性能,改善“Superexpert.com”网站的SEO(Search Engine Optimization),确保“Superexpert.com”网站的正常运行时间,或者对“Superexpert.com”网站进行调试。在这 篇博客中讨论的所有工具都是免费的。此外,所有这些工具都是既支持 ASP.NET Web Forms 又支持 ASP.NET MVC的。
构建ASP.NET网站十大必备工具(2)的更多相关文章
- 构建ASP.NET网站十大必备工具
最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...
- 构建ASP.NET网站十大必备工具(1)
最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...
- MySQL管理员珍藏:十大必备工具盘点
作者:dongdongzzcs 第1页: [IT168 专稿]本文的作者Daniel Nichter是MySQL工具的开发者,他为MySQL管理员推荐了十款必备工具.以下是全文内容: MySQL是一套 ...
- SQLServerDBA十大必备工具
曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...
- 【转】SQLServerDBA十大必备工具---让生活轻松点
曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...
- SQLServerDBA十大必备工具---让生活轻松点(转)
曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过其他工具了: 诚然,SSMS和Profile足够强大,工作的大 ...
- SQLServerDBA十大必备工具---让生活轻松点
原贴:http://www.cnblogs.com/fygh/archive/2012/04/25/2469563.html 国外整理拓展帖:http://weblogs.sqlteam.com/ml ...
- SQL Server DBA十大必备工具使生活轻松
[IT168 技术]曾经和一些DBA和数据库开发人员交流时,问他们都用过一些什么样的DB方面的工具,大部分人除了SSMS和Profile之外,基本就没有使用过 其他工具了;诚然,SSMS和Profil ...
- 跟上节奏 大数据时代十大必备IT技能
跟上节奏 大数据时代十大必备IT技能 新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT ...
随机推荐
- C++ Primer : 第十三章 : 拷贝控制之拷贝控制和资源管理
定义行为像值的类 行为像值的类,例如标准库容器和std::string这样的类一样,类似这样的类我们可以简单的实现一个这样的类HasPtr. 在实现之前,我们需要: 定义一个拷贝构造函数,完成stri ...
- UrlRewrite伪静态
1.首先添加URLRewriter.dll.ActionlessForm.dll加到bin文件夹中,添加引用 注:URLRewriter.dll实现伪静态 ActionlessForm.dll是分页 ...
- [BZOJ 3530][Sdoi 2014]数数
阿拉~好像最近总是做到 AC 自动机的题目呢喵~ 题目的算法似乎马上就能猜到的样子…… AC 自动机 + 数位 dp 先暴力转移出 f[i][j] :表示从 AC 自动机上第 j 号节点走 i 步且不 ...
- C#调用C++ DLL类方法
C++的优势在于高效灵活,C#的优势在于简单易用,两者结合起来对项目开发来说是件好事,而且C++不容易反编译,也保障了代码的安全性,如果一些核心算法使用C#编写,那么保密就是一个问题. C++生成的D ...
- Visual Studio 启动修复命令
今天VS启动不了了,连命令行的 devenv.exe /? 都执行不了,看不到帮助命令了,记性不好,以前看过但没记住呀,还好我装了两个不同版本的VS, 另一个VS的帮助命令还是可以看到的.虽然修复了, ...
- 在线程中用 OracleBulkCopy 导至 CPU 百分百
抓取到的数据, 要批量写数据到 ORACLE , 一开始是用的EF, 处理速度很慢. 主要表现在验证数据上(db.GetValidationErrors), 每分钟才能写 1000条不到. 换成 En ...
- 彻底搞好rem 与js的监控
什么是rem 在我看来,rem就是1rem单位就等于html节点fontsize的像素值.所以改变html节点的fontsize是最为关键的一步.根据手机宽度改变相对大小就可以实现自适应了,就不用什么 ...
- java消息推送与接收
package com.zl; import java.net.ServerSocket; import java.net.Socket; import org.apache.commons.mvc. ...
- 揭开Sass和Compass的神秘面纱
揭开Sass和Compass的神秘面纱 可能之前你像我一样,对Sass和Compass毫无所知,好一点儿的可能知道它们是用来作为CSS预处理的.那么,今天请跟我一起学习下Sass和Compass的一些 ...
- Win32API界面库 - Project wheels 工程基础部分完成
离上次发博文过去了好久,先是要忙一个机器人的项目,然后就是部门的事情和考试周复习,然后就到了考试周,趁着复习的间隙,拾起了寒假时候抄的界面库,修掉了从前的bug. bug1 控件显示问题 当初抄这个库 ...