2014-10-17 78 views
1

我正在使用IIS 7.5在Windows Server 2008 R2标准上运行网站(.net 4.5)。我正在使用visual studio 2012创建网站,并且我从visual studio 2012发布了它。在网络服务器上编辑CS文件

现在我的问题是,我的工作中的主要人员想要能够直接编辑cs文件并进行更改传播到网站而无需运行visual studio或重新编译dll并将其复制到Web服务器。我知道这不是最安全的方式,但我别无选择,只能让它工作。

这就是我们的旧网站/网站服务器的设置方式。我想让它更安全,所以我去了预编译的路线,并没有被告知。

  1. 如何更改我的当前设置以允许此?
  2. 我必须重新发布一切吗?该网站是活的,我不能打断它的使用。
  3. 我有一个类来处理数据库连接。这可以编辑相同的方式,而无需重新编译?
+7

最终,这将对某人造成噩梦。 – 2014-10-17 14:54:44

+0

我完全同意。他说,在旧服务器上工作了很多年。我不得不利用任何话来说。我必须做什么被问到。 – 2014-10-17 14:56:27

+0

够公平的,那么我希望你能得到你的答案(我很惊讶这是从这个方向上来的)。编辑:我怀疑这会回答你的问题:http://stackoverflow.com/questions/7666122/how-do-you-compiling-cs-file-modification-on-a-deployed-website-is-it-possible – 2014-10-17 14:56:51

回答

3

将他引导至此主题,大家都在说这是一个可怕的,可怕的想法。

我的意思是,即使在动态语言(ruby,node.js等)中,最好的做法是而不是来更改正在运行的Web服务器中的文件。

也就是说,有很多方法可以做到这一点。也许最简单的就是利用App_Code文件夹中的代码。任何位于那里的类文件都会强制重新启动站点,并重新编译框架。我会建议在那里限制东西,他真的有一个需要改变,而不仅仅是他想要改变。

+0

DeeMac,我知道源代码控制是最让我困扰的。我正在使用团队基础服务器,并且希望保持我的代码清洁。我喜欢看历史和比较文件。这几乎把这一切抛出窗外。 – 2014-10-17 15:07:44

+0

我会问他一个简单的问题,例如..当你从数据库中删除没有任何历史记录时会发生什么..你如何恢复..或者如何恢复没有实际备份的备份..?这同样适用于TFS,这非常好,你必须有一个审计线索。只要你需要回滚到一个工作版本..你的主角需要被终止,他怎么得到他的位置......他必须调整以及随着当前时代的变化..时间永远不会总是向后移动......我对这个“杰瑞”感到厌倦 – MethodMan 2014-10-17 15:38:38