是否有合法理由让某人在Web服务器上安装Visual Studio,其唯一目的是为传入请求提供服务?说真的,有人可能会这样做吗?
答案 0 :(得分:3)
一种可能的用途是连接到Web服务器并调试某种在开发机器上无法找到的错误或内存泄漏。根据设置,远程调试可能是更好的选择。对我们来说,作为ISV,它不是,因为我们经常通过LiveMeeting和其他非常低效的方式连接到客户系统来诊断生产中的问题。有几次我不得不在客户系统上调试正在运行的进程,我下载并使用了WinDbg。
调试生产系统的更好选择是使用跟踪,日志记录和内存转储。有人可以使用Visual Studio附加到w3wp.exe进程和save a memory dump file。但是,如果他们只需要一个内存转储,还有其他更有效的方法来收集内存:Task Manager,Process Explorer等。
有人也可能使用它作为查看XML,配置或html文件的非常昂贵的编辑器,但这不是合法用途。
我真诚地希望没有人在这台机器上编写代码。如果您有权访问,可以快速搜索用户文件夹中的项目文件。
那么有人可能会在生产Web服务器上安装Visual Studio吗?是的,它可能很有用。但这并不意味着它是一个好的想法。
答案 1 :(得分:-2)
我以不同的观点来看待这个问题。是的,正如其他人所说,您可以使用其他工具在Web服务器上或远程调试生产支持问题,但有合理的理由在生产Web服务器上安装Visual Studio。由于我所从事的业务,开发人员处于不利地位,因此我也处理了这种情况。例如,我目前的雇主从未设置过QA Web服务器。因此,我坚持使用本地开发并在生产中部署测试站点进行测试。 3年过去了,我仍然没有分配资源来配置新的Web服务器。根据我的经验进行远程访问调试并不是解决由于公司策略而导致的生产特定问题的最佳方法,并且在某些情况下存在问题,并且不是每个人都可以选择。问题的一些示例是防火墙问题,IP /域网络问题以及安全问题,因为所有公共Web服务器都在DMZ上。我的远程调试经验是零,因为我的雇主的网络团队不允许我打开端口并使其成为可能,因为服务器在DMZ上。此外,根据您的Visual Studio版本,远程调试是错误的,从未工作过(没有尝试过新版本,因为我无法在工作中进行)。只要程序安装供授权人员使用,我就没有看到它只能用于紧急生产支持问题。我个人有无数的经验,其中错误是生产Web服务器特有的,无法在本地或QA或开发服务器上再现,最快和最简单的解决方案是在生产Web服务器上调试问题。修复是在Dev和QA测试中进行的,然后应用于围绕工具的生产工作,而不是总是报告具体问题。当时最好的解决方案是直接在生产中进行调试。我确信会有那些会说它存在安全风险但是如果应用程序是安全的,我认为在紧急情况下你可以使用最好的调试工具。在像IIS重置这样的生产中使用VS也有影响,这就是为什么它应该仅限于调试问题。我想补充一点,我只推荐这个仅用于紧急情况。这也不适用于每个企业,因为有些企业不允许开发人员访问Web服务器。在我的实例中,我一直负责Web服务器和应用程序本身。此选项的使用范围应限于仅使用其他方法无法解决问题的紧急情况,并且该问题的编程修复不应直接在生产中完成。最后有时可能是必要的,也许您可能需要在数小时后安装它,然后在问题解决后将其删除。在正常情况下,你不会在生产中安装任何不必要的东西,但有时我觉得可能是必要的。