在部署MVC 2 Web应用程序时要绝对检查的事项?

时间:2010-09-30 23:25:43

标签: asp.net-mvc asp.net-mvc-2 deployment hosting

我将把我的第一个MVC网络应用程序部署到互联网上。

对于我这个框架的第一个应用程序,我想知道我是否可以收集一些关于应该采取哪些措施来防止麻烦的建议。

我在这个问题上是通用的,这是收集最多种答案的xpressely。

谢谢!

更新

感谢大家的回答。问题不只是关于“部署”范围,而是更多这些范围:

  • 安全
  • 公共主机
  • 应用程序管理&操作

简而言之,所有需要从初始部署中解决的问题。

4 个答案:

答案 0 :(得分:7)

如果您要在一小时内部署:

  1. 确保在项目中将对System.Web.Mvc的引用标记为Copy Local = True。它往往默认为False,因此不会被复制到您的bin文件夹,从而导致应用程序在部署时失败。查看您可能已添加到项目中的Copy Local = True。

  2. 的任何其他程序集
  3. 确保在代码中发生异常时,最终用户不会显示堆栈跟踪。使用web.config中的<customErrors>指定您自己的错误页面。

  4. 在您的web.config中,确保连接字符串可以在您要部署到的服务器上运行。

  5. 您的应用程序是否因任何原因写入磁盘?记录也许吧?有些托管服务不会让你的应用写入磁盘 - 值得提前检查。

  6. 部署到本地文件夹,并检查已发布的应用程序。脚本,样式表,图像是否没有毛刺加载?

  7. 如果你有更多的时间在手上:

    1. 查看安全性代码,XSS注意事项:输入是否已清理?在视图中呈现时,用户输入是否正确编码?

    2. 查看数据架构。这可能是您修改空数据库的最后机会。部署之后,您只能希望轻轻更新实时数据,尽量避免损害应用程序逻辑中的现有数据和依赖关系。

    3. 如果您还没有,请务必设置Google Analytics分析帐户。您将对您的网站的使用方式感到好奇,这是最好的免费工具之一。 Goog分析以及搜索引擎注册将要求您将具有时髦名称的文件放在域名的根“文件夹”中。验证您的应用可以从根文件夹提供文件,或设置控制器+路由来处理这些请求。

答案 1 :(得分:2)

没有。 0:确保patchpadding oracle vulnerability被应用,当然这不仅适用于asp.net MVC,而是适用于任何asp.net应用程序。

答案 2 :(得分:1)

如果您使用IIS 5.1或6在自己的服务器中部署MVC站点:

  1. 确保在IIS 7中为扩展名。*添加映射到aspnet_isapi.dll和动词GET,HEAD,POST,DEBUG的可执行路径。
  2. 如果要在根网站中添加MVC应用程序,请在根网站中执行1,例如Default Web Site如果在虚拟目录中,则在虚拟目录中执行1。
  3. 确保所有脚本和css包含在部署时找到正确的路径。
  4. 如果要在共享主机中部署MVC站点,则无法访问IIS设置。

    1. 确保您已在web.config中添加了正确的httpHandlers,以便网址重写可以正确映射到正确的页面。
    2. 另一种方法是在MapRoutes中添加自定义路由。例如在默认maproute中添加一些扩展名(.aspx)。 ({controller}.aspx/{action}/{id})。但我不建议这样做。

答案 3 :(得分:0)

Palermo,Bogard等的着作“动画中的ASP.NET MVC 2”来自Manning,是使用MVC的极好的信息来源,并且有一章专门讨论部署技术,免费提供:http://github.com/jeffreypalermo/mvc2inaction/tree/master/manuscript/Chapter17/ < / p>

我认为这可能包含你需要的一切。