asp.net - 部署 ASP.Net Web 应用程序的好方法是什么?

标签 asp.net sql-server deployment web-applications installation

我们目前通过创建数据库并通过查询分析器运行 SQL 脚本来部署 Web 应用程序。然后我们复制“发布网站”的输出并在 IIS 中设置该网站。

我们已经在 Visual Studio 中看到了 websetup,但这部分似乎记录很少。例如,我们不清楚如何向用户询问SQL Server的IP和密码。我们也倾向于以这种方式部署网站,并出现在 http://example.com/project 这样的文件夹下。 ,而不仅仅是 http://example.com .

然后存在未安装 AJAX.Net 或未应用某些或其他补丁的问题。

到目前为止,我们可以物理访问服务器。很快我们就会推出 CDROM。手动干预和自动化之间的实际权衡是什么?

最佳答案

避免 Visual Studio 部署,并尽可能实现自动化。 Web 部署项目和 NAnt 可以成为您的 friend !

简单地说,我们的部署设置:

  1. 我们使用 RedGate SQL 来编写开发数据库和实时数据库之间的差异脚本。

  2. 一个 NAnt 构建文件,它调用 MSBUILD 来构建 Web 部署项目 (.wdproj),压缩生成的已编译 Web 应用程序(以及 SQL 更改脚本),然后将 zip 文件上传到服务器。

  3. 在服务器端,还有另一个 NAnt 构建文件,它使应用程序脱机、备份数据库、备份网站。运行 SQL 更改脚本,解压缩新版本并使应用程序联机。

第 3 步通常“手动”运行(双击一次),但有时安排在深夜。您可以从 CDROM 执行完全相同的操作,甚至可以编写一个相当小的 Windows 窗体应用程序作为包装器。

如果您有兴趣,我很乐意提供 NAnt 脚本的详细信息。

关于asp.net - 部署 ASP.Net Web 应用程序的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62816/

相关文章:

c# - 从 C# 中的存储过程返回多个记录集

sql-server - Python 3 和 pypyodbc 存储过程错误

ruby-on-rails - 在 Heroku cedar 错误上部署 ruby​​ on Rails

c# - ASPX 身份验证 cookie 过期时间始终为 30 分钟

php - 如何从另一个网站(在完全不同的域中)统计一个网站的访问者

c# - Entity Framework 6 和具有架构名称的存储过程

mysql - 将表连接到依赖于表的 View 时,这是 Oracle 中的错误吗

git - 使用 git 作为部署实用程序时的安全问题

linux - Docker:如何部署 vsftpd 实例?

asp.net - Silverlight mime 类型