0

几个月来,我一直在使用C#,SQL Server 2005,ADO.NET实体框架,JQuery和一些ESRI Web API和地理数据库构建使用ASP.NET MVC构建Web站点的客户站点。测试服务器运行IIS6 Windows Server 2003上在这段时间我已经看到了已经造成了大量的返工一些奇怪的事情:虚拟服务器是否与Windows Server 2003,IIS 6,ASP.NET MVC有区别?

  1. 客户端服务器上的JavaScript文件将无法识别到脚本正常的相对路径或URL:而不是用“/Reports.mvc/GridData”的URL建立的jqGrid我不得不将其初始化为<%= RESOLVEURL(“〜/ Reports.mvc /的GridData”)%>在视图中,或者捕获在主页的<头>标签应用程序的路径:
 
    // Declare a variable to pass to jQuery functions that don't seem to 
    // handle URLs below the top-level pages on MVC in IIS6. 
    var _applicationPath = new String(''); 
    // Reset the variable after jQuery document loaded event to make sure 
    // every jQuery library and plugin sees the value. 
    jQuery(document).ready(function() { 
     _applicationPath = new String(''); 
    }); 
  • 我测试了将新数据发布到数据库以及编辑数据的窗体和函数。在两台开发机器和服务器上,我能够证明一切正常。然而,每次他们测试时,客户都回来说这个领域或那个领域没有保存,或者“显得有趣”。
  • 此时,用户的帐户仅用于登录到网络。我的实体框架代码位于数据DLL中,并通过单个应用程序用户登录与数据库一起工作。所以不应该有任何权限或安全问题。

    当有人登录中的代码不会改变,观点不改变,而数据库甚至不知道谁登录到该网站。所以我不得不一次又一次地回到代码中,只是尝试更加防守的编程。但是我前一段时间已经意识到没有什么可以做的了。

    昨天的顾客告诉我,我一直在使用他们的网络上的服务器是虚拟服务器。这是在一个学术环境中,服务器在别的部门的控制下的另一个建筑物中。

    当第一个工作日该测试服务器上,我能够创建一个ASP.NET网站,但大部分数据控件防止加载页面,并在ASP.NET中的其他组件将不会在开发系统上运行。这就是为什么我切换到ASP.NET MVC。

    我们已经移动到物理测试服务器我还没有与虚拟服务器工作过。有没有人有任何古怪的经验与ASP.NET或任何其他事情的虚拟服务器工作?

    回答

    1

    我不信任 虚拟服务器 托管市场上可用的许多可用虚拟服务器(尤其是低资源虚拟服务器,资源过于有限,承诺“灵活”的额外资源),因此无法托管公共网站,因为资源的灵活分配通常不适用于高峰流量,有时会导致崩溃和不稳定。您所描述的内容可能来自配备有限资源的虚拟服务器,或者运行在不稳定或负载过重的环境中。但是,它也可能取决于机器的设置方式以及Web服务器的配置方式。 (我认为1中的路径问题肯定是一个配置问题。)

    您可以尝试询问运行该事情的人在一段时间内增加资源(处理器时间,RAM,网络流量)并查看是否它会变得更好。如果确实如此,您必须查看增加的数据是否可以永久化,或者使用专用服务器。

    +0

    感谢您的回复。我们正在转向专用服务器,但IT部门现在没有反应(可能由于工作量和人员削减),但客户要求我对此进行一些研究。你提到的配置给了我一些继续。 – 2010-01-24 23:04:12

    +1

    对不起Pekka,由于对虚拟化环境的主观评论而不得不投票。配置不当并且调整好的'物理'服务器同样可能会导致令人头痛的配置虚拟环境。我在一家网络托管公司工作,我们在一个7节点的Xen平台上运行〜60-70个虚拟机,与物理服务器相比,我们的问题少得多。与在物理服务器上运行相比,我们还发现可靠性和灵活性有所提高。如果做得对,那就不应该有问题。 – Kev 2010-01-25 14:11:46

    +1

    @Kev,我同意我应该更清楚地说明所描述的问题不是虚拟化的固有特性;尽管如此,我已经与各种提供商建立了许多(低成本)虚拟服务器,并且他们往往反应不佳,特别是对于峰值负载,我怀疑是因为灵活的资源分配(保证RAM X数量<>动态分配RAM y低成本供应商使用的金额)。无论如何,感谢您为投票添加评论,并且我认为我们已经涵盖双方:)总的来说,我认为虚拟化是一项巨大的技术进步。 – 2010-01-25 14:41:20

    相关问题