我公司的其他开发人员之一编写了一个.NET 2.0网站。他存储了所有内容......解决方案,项目,源代码......“inetpub \ AppName”(IIS共享)中的所有内容。我以前从未见过这件事。事实上,我很惊讶网站在浏览器中加载。这样做是否有任何不利之处...将您的解决方案存储在visual studio 2010项目文件夹中,然后将网站发布到inetpub(安全性,速度等)?另外,为什么这样做?
答案 0 :(得分:2)
它的工作原理是因为该网站将在运行中进行编译。从性能的角度来看这是不好的(因为编译时间较晚),从安全角度来看这很糟糕(你的代码暴露不必要)。
来自MSDN
由于ASP.NET在第一个用户请求时编译您的Web站点,您只需将应用程序的源代码复制到生产Web服务器即可。但是,ASP.NET还提供了预编译选项,允许您在部署之前编译Web站点,或者在部署之后但在用户请求之前编译它。预编译有几个优点
答案 1 :(得分:1)
它真的没有理由不起作用,但它通常被认为是一个坏主意。他是直接在共享网站上开发的吗?那太可怕了。即使他不是,那就是将大量文件放在不应该存在的共享站点上。服务器可能被配置为不返回它们,但是依靠它可能不会感到舒服。
即使在他的本地机器上,这也是不好的做法。如果没有其他原因,它没有正确地模仿已发布的网站,并且是一个不好的地方进行测试。
答案 2 :(得分:1)
Inetpub文件夹没有什么特别之处 - 它只是按惯例的默认Web服务器根目录。如果它也是解决方案的一部分(仅在项目文件的XML中引用),那么它就不会阻止IIS显示ASPX页面。您还可以将IIS指向Visual Studio Projects文件夹中的项目目录。
答案 3 :(得分:1)
在C:上存储userdata通常是不好的做法(特别是对程序员而言)。 我们大多数人都有一个数据分区,其中只包含经常备份的userdata或在另一台服务器上使用源存储库。
如果您在安全的局域网上并且只是自己开发,那么将解决方案放在InetPub中确实没问题。但是,如果您使用相同的IIS发布到世界,我不会推荐它。你永远不知道谁可能会得到你宝贵的宝石。
答案 4 :(得分:0)
我说这是不好的做法。您的整个代码都受Web服务器的支配。如果服务器被黑客攻击,则代码是免费赠送奖励。