使用ASP.NET和SQL Server维护共享托管网站的最佳实践?

时间:2008-11-24 14:33:57

标签: asp.net visual-studio shared-hosting

在过去的几年里,我一直在与共享托管服务提供商建立PHP / MySQL网站。日常流程基本上是:

  • 在Eclipse中开发,每个文件夹一个网站
  • 通过FileZilla上传,每个文件夹一个网站
  • 使用PHPMyAdmin创建和管理本地和在线数据库,并将数据从一个数据库传输到另一个
  • 备份在线数据库我将数据库表转储到脚本中并在本地复制它们

我现在想在共享主机提供商上使用带有SQL Server 2008的ASP.NET构建网站,并且我试图进入这个新范例,希望你们中的一些人可以给我一些基于的指针你的经历,并告诉我我没有做到最佳:

  • 我已经安装了Visual Web Developer 2008 Express以及Visual Studio 2008的完整版本,它们似乎都是用于开发ASP.NET站点的全功能工具。 就共享托管服务提供商的网站而言,您可以使用快速版无法完成的完整版本做什么?
  • 我使用FileZilla上传我的网站,这似乎工作正常。 您是使用外部FTP程序上传您的网站还是使用上述IDE中的“发布”或“FTP网站”?
  • 我安装了SQL Server 2008 Management Studio,现在可以向我的在线SQL Server数据库发出SQL命令(虽然我奇怪地看不到我左边列表中的数据库,我仍然可以访问它,我假设这是一些我的提供商www.domainbox.de的权利问题,但这个提供商告诉我使用他们的在线经理,这被称为“ASP.NET企业管理器”,这是非常简单但至少有一个“查询框”,它允许我将查询发送到我的数据库。)这是ASP.NET主机的“ASP.NET企业管理器”标准还是其他更好的东西,例如您可以在网格中编辑数据等吗?我认为,对于大多数提供商,您可以使用SQL Server Management Studio管理在线SQL Server数据库,这是正确的吗? (我记得早在2001年,在企业管理器的共享托管服务提供商处管理在线SQL Server 2000数据库,我需要花10分钟才能看到左边的数据库,因为它列出了其他800个客户数据库 - 希望如此这已经解决了。)
  • 如何将在线数据库中的数据备份到本地存储?(目前我必须编写将我的数据输出到其他格式的代码,例如XML或SQL脚本)
  • 在对本地数据库进行大量结构和数据更改后,如何将这些更改和新数据传输到在线数据库?(我必须安装SSMS工具[{ {3}}能够将我的数据转储到脚本中,以便我可以将其恢复到我的在线数据库中。)

所以,虽然我已经掌握了大部分工作,但我觉得必须有更好的方法来解决这个问题,更好的提供商,更好的工具等等。希望听到一些“最佳实践”建议任何使用ASP.NET,SQL Server和共享托管的人。

2 个答案:

答案 0 :(得分:3)

在大多数情况下,您现在正在做的事情将与asp.net网站合作。

对于您的开发环境,我认为您不会因使用Visual Web Developer 2008 express而受限制。这是一个微软页面,它比较了Visual Studio 2008的每个版本,包括Visual Web Developer 2008 Express:Visual Studio 2008 Product Comparison

要通过网络部署您的网站,我会坚持手动部署。你可以在visual studio中使用一些自动化的东西,但你的部署往往会慢一些。编译完应用程序后,它将删除目标网站中的每个文件,并从头开始上传(我认为未压缩)。发生这种情况时,您的整个网站都将关闭。手动部署时,您只能上传已更改的文件或压缩格式的所有文件。

关于SQL服务器,许多共享主机服务将允许您连接某种本地SQL管理工具。但是,以这种方式连接通常会占用大量带宽,因此它们会以这种方式限制允许的带宽。这可能是您之前看到的性能问题。如果你可以使用它,我会在你的大部分工作中使用他们的托管SQL工具,但是然后使用管理工作室来处理它无法处理的任何事情。

要备份SQL Server,如果您的主机没有办法执行自动备份,那么您必须自己做一些事情。我首先检查它们是否允许您至少运行SQL备份命令。这将生成数据库的.bak文件,但是在本地数据库服务器上。大多数地方都会与您合作,因为很多客户都需要这个。

为了对数据库应用更改,最好的办法是将所有更改编写为一个sql脚本,然后使用远程SQL管理工具运行它。这些并不难写,并且有一些工具可以帮助你。我个人喜欢使用Visio。它允许我比较两个数据库(本地和远程),然后生成一个脚本,以应用于具有所有更改的远程数据库。

祝你好运

答案 1 :(得分:0)

就VS Express与标准的功能而言 - 标准仍然是更好的工具。它为您提供了更丰富的调试体验,更广泛地支持解决方案/项目依赖性等。

即使在进行共享托管b / c时,这些事情仍然很重要,您绝对需要调试您的应用程序(客户端和服务器端)。你可以使用Express做一些充分的注意事项(不能附加到任意进程,客户端javascript调试很麻烦),标准使这更容易。

对于发布/部署 - 我建议使用“Web Depoyment Projects” - 可以从MS下载的MSBuild扩展。这为您提供了大量可自定义的构建和部署网站的方式 - 包括将其发送到FTP站点。如果您曾经使用过MSBuild并且喜欢它 - Web部署项目是使用ASP.NET网站扩展构建过程的最简单方法。