ASP.NET - 将网站投入生产的基本清单

时间:2008-11-25 21:51:24

标签: asp.net performance deployment production

我正在构建一个静态ASP.NET站点(使用Masterpages和一些表单),我即将将它发布到我的生产服务器上。

我知道将<compilation debug="true">更改为false,但我想知道我还能采取哪些其他措施来获得最高速度。网站中没有数据访问权限,它都是静态内容。

是否有人制作了一份清单,或者知道在生产环境中设置网站的良好资源,重点关注绩效?

到目前为止

核对清单(随意添加任何有价值的内容自行编辑)

  1. 确保{。1}在Web.Config中实际设置为 false
  2. 确保{。1}在Web.Config中实际设置为 false
  3. 为网站
  4. 设置必要的读/写/修改文件夹权限
  5. 在IIS中启用GZIP(显着减小页面/ css / javascript的大小)
  6. 您是否考虑过任何页面/控件的OutputCaching?
  7. 考虑设置Web测试(例如.NET的WatiN)以确保您网站上的功能仍然正常工作
  8. 确保不是星期五下午!

10 个答案:

答案 0 :(得分:7)

如果您正在编写任何日志或输出文件,请确保在生产环境中设置了正确的文件夹权限。通常,调试/测试环境在文件读/写权限上比生产要宽松得多。

答案 1 :(得分:6)

不要在周五下午部署!这保证会在周末搞砸你的头脑。

答案 2 :(得分:3)

另外,不要忘记检查IIS中的gzip设置。压缩输出将使事物更快地穿过电线。

答案 3 :(得分:3)

MSDN上提供的how to perform a security deployment review实际上有一个非常好的清单。

答案 4 :(得分:2)

查看您的web.config

检查debug(web.config / * .svc),跟踪,......

将调试更新为生产值:

  • 电子邮件地址
  • (网络)服务地址
  • 位置日志文件

快速搜索:link

答案 5 :(得分:2)

如果是所有静态内容,您将需要使用激进的Output Caching

答案 6 :(得分:2)

如果您的网站使用数据库且仅显示信息,请将数据库设为只读。这消除了所有锁定处理和速度,以获得伟大的交易。

如果您有一个更新数据的后端,请将其设置为一个单独的数据库,并且每天更新一次只读数据库或该应用程序所需的时间。

如果您只是在公司网站上展示不经常更改的新闻和其他小事,那么这个解决方案可能适合您。即使它是一个拥有千兆字节数据的网站。关键是,我们多久更新一次数据?

从我在日常业务中看到的,没有人真正想到这个解决方案,因为一切都必须是“实时”,但有很多情况下这将是一个完美的解决方案。

答案 7 :(得分:1)

您应该进行某种测试,以验证您网站的各种功能和权限。例如,一旦你发布。浏览一份清单,如果我没有许可,我可以访问x吗? x,y,z是否适用于应用程序?我在每次发布后都这样做,因为小的变化会产生很大的影响。

答案 8 :(得分:0)

你应该读到这个:
https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

目前这是SO上第9个最高投票问题,也是最受欢迎的前三个问题。需要注意的是,它与平台无关,因此缺少一些特定于ASP.Net的项目。

答案 9 :(得分:0)

清除浏览器缓存后,彻底测试公司防火墙/代理外部的站点。这将有助于确保所有资源都可公开访问(并且不在本地服务器上或缓存)。例如,您可能会发现已使用绝对URL来包含JavaScript或CSS文件。这些在您的开发环境中工作正常,但是一旦网站上线,它们就无法访问。或者您的缓存中有一个随后被删除的CSS文件,但您没有注意到。

确保您使用的具有与域绑定的键的任何产品/应用程序都可以在您的实际站点上运行。这包括谷歌地图键或商业第三方应用程序。它还包括在电子邮件中发送的自动生成的超链接。您不希望用户注册返回http://localhost/comfirm.aspx之类的链接,是吗?