ASP.NET自更新系统

ASP.NET自更新系统,asp.net,auto-update,Asp.net,Auto Update,客户要求我们在其intranet服务器上安装基于asp.net的web系统。一旦初始调整完成,由于安全原因,服务器将完全无法访问,正如您可能已经猜到的。另一方面,我们仍然负责维护和持续开发 所以我在寻找某种自动更新系统。它被认为是一个windows服务,与站点并肩工作,定期轮询中央服务器以获取更新。假设中央服务器在开发人员的控制下,这种方法可以解决问题 问题是是否存在这样的系统,商业或免费/开源。有人听说过吗?我们的时间有点有限,希望能够容纳现成的解决方案,而不是从头开始编写。如果您无法访问此系

客户要求我们在其intranet服务器上安装基于asp.net的web系统。一旦初始调整完成,由于安全原因,服务器将完全无法访问,正如您可能已经猜到的。另一方面,我们仍然负责维护和持续开发

所以我在寻找某种自动更新系统。它被认为是一个windows服务,与站点并肩工作,定期轮询中央服务器以获取更新。假设中央服务器在开发人员的控制下,这种方法可以解决问题


问题是是否存在这样的系统,商业或免费/开源。有人听说过吗?我们的时间有点有限,希望能够容纳现成的解决方案,而不是从头开始编写。

如果您无法访问此系统,我认为自动更新服务不是一个好主意。通过将您锁定在外,您的客户实际上承担了支持您的应用程序的部分责任。这是常见的,但应相互理解


更新应作为具有回滚功能的单独安装包应用。如果您无权访问服务器,客户端将负责应用更新。如果您的客户对这种安排不满意,您应该讨论引导式访问,您可以在客户IT人员的监督下访问服务器。

如果您无法访问此系统,我认为自动更新服务不是一个好主意。通过将您锁定在外,您的客户实际上承担了支持您的应用程序的部分责任。这是常见的,但应相互理解


更新应作为具有回滚功能的单独安装包应用。如果您无权访问服务器,客户端将负责应用更新。如果您的客户对这种安排不满意,您应该讨论引导式访问,在这种情况下,您可以在客户IT员工的监督下访问服务器。

Phil Haack有一个库,他正在整合以实现这一点,虽然我同意戴夫的回答,如果你不能控制它,你就不应该对此负责


有关更多详细信息,请参阅。

菲尔·哈克(Phil Haack)有一个图书馆,他正在为实现这一点而整合,尽管我同意戴夫的回答,即如果你无法控制它,你不应该对此负责


有关更多详细信息,请参阅。

wxBuild/wxUpdate很受欢迎,但我不知道它是否支持更新服务。不过,我觉得安全性的提高有点可疑。因为您仍然可以将任意二进制文件部署到他们的服务器上,然后执行。@CodeInChaos:我在一家银行工作,在那里,供应商通常不允许访问。显然OP的客户相信他们不会发送恶意软件。如果客户端是规避风险的,他们可能有合法的理由限制对其基础结构的访问。您为此想出了一个好的解决方案吗?wxBuild/wxUpdate很流行,但我不知道它是否支持更新服务。不过,我觉得安全性增益有点可疑。因为您仍然可以将任意二进制文件部署到他们的服务器上,然后执行。@CodeInChaos:我在一家银行工作,在那里,供应商通常不允许访问。显然OP的客户相信他们不会发送恶意软件。如果客户不愿承担风险,他们可能有合法的理由限制对其基础设施的访问。您是否为此想出了一个好的解决方案?感谢您的链接。我对nuget一点也不熟悉,它支持数据库模式更新吗?它是否能够保留特定于实例的文件?网站的不同实例将拥有自己的一组与外观和布局图像以及css文件相关的文件。无论更新包含什么内容,都必须保留它们。据我所知,Phil从未完成过他的库。Nuget是一个将外部库(如Ninject或ELMAH)拉入项目的系统。它与VisualStudio集成。它已经发布了,但是它不能解决OP的问题。Nuget本身也不能解决这个问题,但是Phil正在开发的库至少可以解决一部分问题。谢谢你的链接。我对nuget一点也不熟悉,它支持数据库模式更新吗?它是否能够保留特定于实例的文件?网站的不同实例将拥有自己的一组与外观和布局图像以及css文件相关的文件。无论更新包含什么内容,都必须保留它们。据我所知,Phil从未完成过他的库。Nuget是一个将外部库(如Ninject或ELMAH)拉入项目的系统。它与VisualStudio集成。它已经发布了,但是它不能解决OP的问题。Nuget本身不能解决这个问题,但是Phil正在使用的库 n至少会走一段路